Implemented the JSON based keyboard shortcuts files. jsonfiles

Thu, 28 Jan 2021 16:35:28 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 28 Jan 2021 16:35:28 +0100
branch
jsonfiles
changeset 8019
5fb467ac4233
parent 8018
641c7c312f26
child 8020
eddc8c3d3f9e

Implemented the JSON based keyboard shortcuts files.

eric6/Preferences/Shortcuts.py file | annotate | diff | comparison | revisions
eric6/Preferences/ShortcutsFile.py file | annotate | diff | comparison | revisions
eric6/UI/UserInterface.py file | annotate | diff | comparison | revisions
eric6/WebBrowser/WebBrowserWindow.py file | annotate | diff | comparison | revisions
others/default.e4k file | annotate | diff | comparison | revisions
others/default.ekj file | annotate | diff | comparison | revisions
--- a/eric6/Preferences/Shortcuts.py	Thu Jan 28 13:19:22 2021 +0100
+++ b/eric6/Preferences/Shortcuts.py	Thu Jan 28 16:35:28 2021 +0100
@@ -196,82 +196,105 @@
             __saveShortcut(act, helpViewerCategory, prefClass)
 
 
-# TODO: do the JSON shortcuts
 def exportShortcuts(fn, helpViewer=None):
     """
     Module function to export the keyboard shortcuts for the defined QActions.
     
-    @param fn filename of the export file (string)
+    @param fn filename of the export file
+    @type str
     @param helpViewer reference to the help window object
+    @type WebBrowserWindow
     """
     # let the plugin manager create on demand plugin objects
     pm = e5App().getObject("PluginManager")
     pm.initOnDemandPlugins()
     
-    f = QFile(fn)
-    if f.open(QIODevice.WriteOnly):
-        from E5XML.ShortcutsWriter import ShortcutsWriter
-        ShortcutsWriter(f).writeXML(helpViewer=helpViewer)
-        f.close()
+    if fn.endswith(".ekj"):
+        # new JSON based file
+        from .ShortcutsFile import ShortcutsFile
+        shortcutsFile = ShortcutsFile()
+        shortcutsFile.writeFile(fn, helpViewer)
     else:
-        E5MessageBox.critical(
-            None,
-            QCoreApplication.translate(
-                "Shortcuts", "Export Keyboard Shortcuts"),
-            QCoreApplication.translate(
-                "Shortcuts",
-                "<p>The keyboard shortcuts could not be written to file"
-                " <b>{0}</b>.</p>")
-            .format(fn))
+        # old XML based file
+        f = QFile(fn)
+        if f.open(QIODevice.WriteOnly):
+            from E5XML.ShortcutsWriter import ShortcutsWriter
+            ShortcutsWriter(f).writeXML(helpViewer=helpViewer)
+            f.close()
+        else:
+            E5MessageBox.critical(
+                None,
+                QCoreApplication.translate(
+                    "Shortcuts", "Export Keyboard Shortcuts"),
+                QCoreApplication.translate(
+                    "Shortcuts",
+                    "<p>The keyboard shortcuts file <b>{0}</b> could not"
+                    " be written.</p>")
+                .format(fn))
 
 
 # TODO: do the JSON shortcuts
 def importShortcuts(fn, helpViewer=None):
     """
-    Module function to import the keyboard shortcuts for the defined E5Actions.
+    Module function to import the keyboard shortcuts for the defined actions.
     
-    @param fn filename of the import file (string)
+    @param fn filename of the import file
+    @type str
     @param helpViewer reference to the help window object
+    @type WebBrowserWindow
     """
     # let the plugin manager create on demand plugin objects
     pm = e5App().getObject("PluginManager")
     pm.initOnDemandPlugins()
     
-    f = QFile(fn)
-    if f.open(QIODevice.ReadOnly):
-        from E5XML.ShortcutsReader import ShortcutsReader
-        reader = ShortcutsReader(f)
-        reader.readXML()
-        f.close()
-        if not reader.hasError():
-            shortcuts = reader.getShortcuts()
+    if fn.endswith(".ekj"):
+        # new JSON based file
+        from .ShortcutsFile import ShortcutsFile
+        shortcutsFile = ShortcutsFile()
+        shortcuts = shortcutsFile.readFile(fn)
+        if shortcuts:
             setActions(shortcuts, helpViewer=helpViewer)
             saveShortcuts()
             syncPreferences()
     else:
-        E5MessageBox.critical(
-            None,
-            QCoreApplication.translate(
-                "Shortcuts", "Import Keyboard Shortcuts"),
-            QCoreApplication.translate(
-                "Shortcuts",
-                "<p>The keyboard shortcuts could not be read from file"
-                " <b>{0}</b>.</p>")
-            .format(fn))
-        return
+        # old XML based file
+        f = QFile(fn)
+        if f.open(QIODevice.ReadOnly):
+            from E5XML.ShortcutsReader import ShortcutsReader
+            reader = ShortcutsReader(f)
+            reader.readXML()
+            f.close()
+            if not reader.hasError():
+                shortcuts = reader.getShortcuts()
+                setActions(shortcuts, helpViewer=helpViewer)
+                saveShortcuts()
+                syncPreferences()
+        else:
+            E5MessageBox.critical(
+                None,
+                QCoreApplication.translate(
+                    "Shortcuts", "Import Keyboard Shortcuts"),
+                QCoreApplication.translate(
+                    "Shortcuts",
+                    "<p>The keyboard shortcuts file <b>{0}</b> could not be"
+                    " read.</p>")
+                .format(fn))
 
 
-def __setAction(actions, sdict):
+def __setAction(actions, shortcutsDict):
     """
-    Private function to write a single keyboard shortcut to the settings.
+    Private function to set a single keyboard shortcut category shortcuts.
     
-    @param actions list of actions to set (list of E5Action)
-    @param sdict dictionary containg accelerator information for one category
+    @param actions list of actions to set
+    @type list of E5Action
+    @param shortcutsDict dictionary containing accelerator information for
+        one category
+    @type dict
     """
     for act in actions:
         if act.objectName():
             try:
-                accel, altAccel = sdict[act.objectName()]
+                accel, altAccel = shortcutsDict[act.objectName()]
                 act.setShortcut(QKeySequence(accel))
                 act.setAlternateShortcut(QKeySequence(altAccel),
                                          removeEmpty=True)
@@ -281,11 +304,13 @@
 
 def setActions(shortcuts, helpViewer=None):
     """
-    Module function to set actions based on new format shortcuts file.
+    Module function to set actions based on the imported shortcuts file.
     
     @param shortcuts dictionary containing the accelerator information
-        read from a XML file
+        read from a JSON or XML file
+    @type dict
     @param helpViewer reference to the help window object
+    @type WebBrowserWindow
     """
     if helpViewer is None:
         if "Project" in shortcuts:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/Preferences/ShortcutsFile.py	Thu Jan 28 16:35:28 2021 +0100
@@ -0,0 +1,206 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing a class representing the shortcuts JSON file.
+"""
+
+import json
+import time
+import typing
+
+from PyQt5.QtCore import QObject
+
+from E5Gui import E5MessageBox
+from E5Gui.E5OverrideCursor import E5OverridenCursor
+from E5Gui.E5Application import e5App
+
+import Preferences
+
+HelpViewer = typing.TypeVar("WebBrowserWindow")
+
+
+class ShortcutsFile(QObject):
+    """
+    Class representing the shortcuts JSON file.
+    """
+    def __init__(self, parent: QObject = None):
+        """
+        Constructor
+        
+        @param parent reference to the parent object (defaults to None)
+        @type QObject (optional)
+        """
+        super(ShortcutsFile, self).__init__(parent)
+    
+    def __addActionsToDict(self, category: str, actions: list,
+                           actionsDict: dict):
+        """
+        Private method to add a list of actions to the actions dictionary.
+        
+        @param category category of the actions
+        @type str
+        @param actions list of actions
+        @type list of QAction
+        @param actionsDict reference to the actions dictionary to be modified
+        @type dict
+        """
+        if actions:
+            if category not in actionsDict:
+                actionsDict[category] = {}
+            for act in actions:
+                if act.objectName():
+                    # shortcuts are only exported, if their objectName is set
+                    actionsDict[category][act.objectName()] = (
+                        act.shortcut().toString(),
+                        act.alternateShortcut().toString()
+                    )
+    
+    def writeFile(self, filename: str, helpViewer: HelpViewer = None) -> bool:
+        """
+        Public method to write the shortcuts data to a shortcuts JSON file.
+        
+        @param filename name of the shortcuts file
+        @type str
+        @param helpViewer reference to the help window object
+        @type WebBrowserWindow
+        @return flag indicating a successful write
+        @rtype bool
+        """
+        actionsDict = {}
+        
+        # step 1: collect all the shortcuts
+        if helpViewer is None:
+            self.__addActionsToDict(
+                "Project",
+                e5App().getObject("Project").getActions(),
+                actionsDict
+            )
+            self.__addActionsToDict(
+                "General",
+                e5App().getObject("UserInterface").getActions('ui'),
+                actionsDict
+            )
+            self.__addActionsToDict(
+                "Wizards",
+                e5App().getObject("UserInterface").getActions('wizards'),
+                actionsDict
+            )
+            self.__addActionsToDict(
+                "Debug",
+                e5App().getObject("DebugUI").getActions(),
+                actionsDict
+            )
+            self.__addActionsToDict(
+                "Edit",
+                e5App().getObject("ViewManager").getActions('edit'),
+                actionsDict
+            )
+            self.__addActionsToDict(
+                "File",
+                e5App().getObject("ViewManager").getActions('file'),
+                actionsDict
+            )
+            self.__addActionsToDict(
+                "Search",
+                e5App().getObject("ViewManager").getActions('search'),
+                actionsDict
+            )
+            self.__addActionsToDict(
+                "View",
+                e5App().getObject("ViewManager").getActions('view'),
+                actionsDict
+            )
+            self.__addActionsToDict(
+                "Macro",
+                e5App().getObject("ViewManager").getActions('macro'),
+                actionsDict
+            )
+            self.__addActionsToDict(
+                "Bookmarks",
+                e5App().getObject("ViewManager").getActions('bookmark'),
+                actionsDict
+            )
+            self.__addActionsToDict(
+                "Spelling",
+                e5App().getObject("ViewManager").getActions('spelling'),
+                actionsDict
+            )
+            self.__addActionsToDict(
+                "Window",
+                e5App().getObject("ViewManager").getActions('window'),
+                actionsDict
+            )
+            
+            for category, ref in e5App().getPluginObjects():
+                if hasattr(ref, "getActions"):
+                    self.__addActionsToDict(
+                        category, ref.getActions(), actionsDict
+                    )
+        
+        else:
+            self.__addActionsToDict(
+                helpViewer.getActionsCategory(),
+                helpViewer.getActions(),
+                actionsDict
+            )
+        
+        # step 2: assemble the data structure to be written
+        shortcutsDict = {}
+        # step 2.0: header
+        shortcutsDict["header"] = {
+            "comment": "eric keyboard shortcuts file",
+            "saved": time.strftime('%Y-%m-%d, %H:%M:%S'),
+            "author": Preferences.getUser("Email"),
+        }
+        # step 2.1: keyboard shortcuts
+        shortcutsDict["shortcuts"] = actionsDict
+        
+        try:
+            jsonString = json.dumps(shortcutsDict, indent=2)
+            with open(filename, "w") as f:
+                f.write(jsonString)
+        except (TypeError, EnvironmentError) as err:
+            with E5OverridenCursor():
+                E5MessageBox.critical(
+                    None,
+                    self.tr("Export Keyboard Shortcuts"),
+                    self.tr(
+                        "<p>The keyboard shortcuts file <b>{0}</b> could not"
+                        " be written.</p><p>Reason: {1}</p>"
+                    ).format(filename, str(err))
+                )
+                return False
+        
+        return True
+    
+    def readFile(self, filename: str) -> bool:
+        """
+        Public method to read the shortcuts data from a shortcuts JSON file.
+        
+        @param filename name of the shortcuts file
+        @type str
+        @return Dictionary of dictionaries of shortcuts. The keys of the
+            dictionary are the shortcuts categories, the values are
+            dictionaries. These dictionaries have the shortcut name as their
+            key and a tuple of accelerators as their value.
+        @rtype dict
+        """
+        try:
+            with open(filename, "r") as f:
+                jsonString = f.read()
+            shortcutsDict = json.loads(jsonString)
+        except (EnvironmentError, json.JSONDecodeError) as err:
+            E5MessageBox.critical(
+                None,
+                self.tr("Import Keyboard Shortcuts"),
+                self.tr(
+                    "<p>The keyboard shortcuts file <b>{0}</b> could not be"
+                    " read.</p><p>Reason: {1}</p>"
+                ).format(filename, str(err))
+            )
+            return {}
+        
+        return shortcutsDict["shortcuts"]
--- a/eric6/UI/UserInterface.py	Thu Jan 28 13:19:22 2021 +0100
+++ b/eric6/UI/UserInterface.py	Thu Jan 28 16:35:28 2021 +0100
@@ -6296,7 +6296,8 @@
             None,
             self.tr("Export Keyboard Shortcuts"),
             "",
-            self.tr("Keyboard shortcut file (*.e4k)"),
+            self.tr("Keyboard Shortcuts File (*.ekj);;"
+                    "XML Keyboard Shortcuts File (*.e4k)"),
             "",
             E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite))
         
@@ -6309,8 +6310,18 @@
             if ex:
                 fn += ex
         
-        from Preferences import Shortcuts
-        Shortcuts.exportShortcuts(fn)
+        if os.path.exists(fn):
+            ok = E5MessageBox.yesNo(
+                self,
+                self.tr("Export Keyboard Shortcuts"),
+                self.tr("""<p>The keyboard shortcuts file <b>{0}</b> exists"""
+                        """ already. Overwrite it?</p>""").format(fn))
+        else:
+            ok = True
+        
+        if ok:
+            from Preferences import Shortcuts
+            Shortcuts.exportShortcuts(fn)
 
     def __importShortcuts(self):
         """
@@ -6320,7 +6331,8 @@
             None,
             self.tr("Import Keyboard Shortcuts"),
             "",
-            self.tr("Keyboard shortcut file (*.e4k)"))
+            self.tr("Keyboard Shortcuts File (*.ekj);;"
+                    "XML Keyboard shortcut file (*.e4k)"))
         
         if fn:
             from Preferences import Shortcuts
--- a/eric6/WebBrowser/WebBrowserWindow.py	Thu Jan 28 13:19:22 2021 +0100
+++ b/eric6/WebBrowser/WebBrowserWindow.py	Thu Jan 28 16:35:28 2021 +0100
@@ -5019,7 +5019,8 @@
             None,
             self.tr("Export Keyboard Shortcuts"),
             "",
-            self.tr("Keyboard shortcut file (*.e4k)"),
+            self.tr("Keyboard Shortcuts File (*.ekj);;"
+                    "XML Keyboard Shortcuts File (*.e4k)"),
             "",
             E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite))
         
@@ -5032,8 +5033,18 @@
             if ex:
                 fn += ex
         
-        from Preferences import Shortcuts
-        Shortcuts.exportShortcuts(fn, helpViewer=self)
+        if os.path.exists(fn):
+            ok = E5MessageBox.yesNo(
+                self,
+                self.tr("Export Keyboard Shortcuts"),
+                self.tr("""<p>The keyboard shortcuts file <b>{0}</b> exists"""
+                        """ already. Overwrite it?</p>""").format(fn))
+        else:
+            ok = True
+        
+        if ok:
+            from Preferences import Shortcuts
+            Shortcuts.exportShortcuts(fn, helpViewer=self)
 
     def __importShortcuts(self):
         """
@@ -5043,7 +5054,8 @@
             None,
             self.tr("Import Keyboard Shortcuts"),
             "",
-            self.tr("Keyboard shortcut file (*.e4k)"))
+            self.tr("Keyboard Shortcuts File (*.ekj);;"
+                    "XML Keyboard shortcut file (*.e4k)"))
         
         if fn:
             from Preferences import Shortcuts
--- a/others/default.e4k	Thu Jan 28 13:19:22 2021 +0100
+++ b/others/default.e4k	Thu Jan 28 16:35:28 2021 +0100
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE Shortcuts SYSTEM "Shortcuts-3.6.dtd">
-<!-- Eric6 keyboard shortcuts -->
-<!-- Saved: 2012-01-01, 15:38:59-->
+<!-- eric keyboard shortcuts -->
+<!-- Saved: 2021-01-28, 16:15:01-->
 <!-- Author: Detlev Offenbach <detlev@die-offenbachs.de> -->
 <Shortcuts version="3.6">
   <Shortcut category="Project">
@@ -50,6 +50,11 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Project">
+    <Name>project_search_project_file</Name>
+    <Accel>Ctrl+Alt+P</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Project">
     <Name>project_properties</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
@@ -60,12 +65,12 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Project">
-    <Name>project_filetype_associatios</Name>
+    <Name>project_filetype_associations</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Project">
-    <Name>project_lexer_associatios</Name>
+    <Name>project_lexer_associations</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
@@ -130,6 +135,11 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Project">
+    <Name>project_load_diagram</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Project">
     <Name>project_plugin_pkglist</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
@@ -145,7 +155,17 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Project">
-    <Name>packagers_cxfreeze</Name>
+    <Name>project_make_execute</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Project">
+    <Name>project_make_test</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Project">
+    <Name>project_check_pep8</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
@@ -160,7 +180,17 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Project">
-    <Name>project_check_pep8</Name>
+    <Name>project_show_radon_raw</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Project">
+    <Name>project_show_radon_mi</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Project">
+    <Name>project_show_radon_cc</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
@@ -170,7 +200,7 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Project">
-    <Name>project_check_indentations</Name>
+    <Name>project_check_vulture</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
@@ -180,6 +210,21 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
+    <Name>restart_eric</Name>
+    <Accel>Ctrl+Shift+Q</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="General">
+    <Name>save_session_to_file</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="General">
+    <Name>load_session_from_file</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="General">
     <Name>new_window</Name>
     <Accel>Ctrl+Shift+N</Accel>
     <AltAccel></AltAccel>
@@ -195,93 +240,48 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
-    <Name>project_viewer</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="General">
     <Name>project_viewer_activate</Name>
     <Accel>Alt+Shift+P</Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
-    <Name>multi_project_viewer</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="General">
     <Name>multi_project_viewer_activate</Name>
     <Accel>Alt+Shift+M</Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
-    <Name>debug_viewer</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="General">
     <Name>debug_viewer_activate</Name>
     <Accel>Alt+Shift+D</Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
-    <Name>interpreter_shell</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="General">
-    <Name>interprter_shell_activate</Name>
+    <Name>interpreter_shell_activate</Name>
     <Accel>Alt+Shift+S</Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
-    <Name>terminal</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="General">
-    <Name>terminal_activate</Name>
-    <Accel>Alt+Shift+R</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="General">
-    <Name>file_browser</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="General">
     <Name>file_browser_activate</Name>
     <Accel>Alt+Shift+F</Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
-    <Name>log_viewer</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="General">
     <Name>log_viewer_activate</Name>
     <Accel>Alt+Shift+G</Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
-    <Name>task_viewer</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="General">
     <Name>task_viewer_activate</Name>
     <Accel>Alt+Shift+T</Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
-    <Name>template_viewer</Name>
-    <Accel></Accel>
+    <Name>template_viewer_activate</Name>
+    <Accel>Alt+Shift+A</Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
-    <Name>template_viewer_activate</Name>
-    <Accel>Alt+Shift+A</Accel>
+    <Name>vertical_toolbox</Name>
+    <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
@@ -300,12 +300,12 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
-    <Name>bottom_sidebar</Name>
+    <Name>right_sidebar</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
-    <Name>cooperation_viewer</Name>
+    <Name>bottom_sidebar</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
@@ -315,8 +315,8 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
-    <Name>symbols_viewer</Name>
-    <Accel></Accel>
+    <Name>irc_widget_activate</Name>
+    <Accel>Ctrl+Alt+Shift+I</Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
@@ -325,13 +325,28 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
-    <Name>numbers_viewer</Name>
-    <Accel></Accel>
+    <Name>numbers_viewer_activate</Name>
+    <Accel>Alt+Shift+B</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="General">
+    <Name>code_documentation_viewer_activate</Name>
+    <Accel>Ctrl+Alt+Shift+D</Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
-    <Name>numbers_viewer_activate</Name>
-    <Accel>Alt+Shift+B</Accel>
+    <Name>pip_widget_activate</Name>
+    <Accel>Ctrl+Alt+Shift+P</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="General">
+    <Name>conda_widget_activate</Name>
+    <Accel>Ctrl+Alt+Shift+C</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="General">
+    <Name>micropython_widget_activate</Name>
+    <Accel>Ctrl+Alt+Shift+M</Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
@@ -345,12 +360,22 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
-    <Name>qt4_documentation</Name>
+    <Name>qt5_documentation</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
-    <Name>pyqt4_documentation</Name>
+    <Name>qt6_documentation</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="General">
+    <Name>pyqt5_documentation</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="General">
+    <Name>pyqt6_documentation</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
@@ -360,17 +385,17 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
-    <Name>python2_documentation</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="General">
     <Name>eric_documentation</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
-    <Name>pyside_documentation</Name>
+    <Name>pyside2_documentation</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="General">
+    <Name>pyside6_documentation</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
@@ -390,6 +415,16 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
+    <Name>show_error_log</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="General">
+    <Name>show_install_info</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="General">
     <Name>report_bug</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
@@ -465,6 +500,11 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
+    <Name>hex_editor</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="General">
     <Name>web_browser</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
@@ -475,6 +515,11 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
+    <Name>snapshot</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="General">
     <Name>preferences</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
@@ -525,6 +570,21 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
+    <Name>manage_ssl_certificates</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="General">
+    <Name>manage_message_filters</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="General">
+    <Name>clear_private_data</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="General">
     <Name>viewmanager_activate</Name>
     <Accel>Alt+Shift+E</Accel>
     <AltAccel></AltAccel>
@@ -565,6 +625,16 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="General">
+    <Name>virtualenv_manager</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="General">
+    <Name>virtualenv_configurator</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="General">
     <Name>about_eric</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
@@ -574,12 +644,37 @@
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
+  <Shortcut category="General">
+    <Name>time_tracker_activate</Name>
+    <Accel>Alt+Shift+I</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="General">
+    <Name>translator_activate</Name>
+    <Accel>Alt+Shift+R</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Wizards">
+    <Name>wizards_datauriencoder</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Wizards">
+    <Name>wizards_dotdesktop</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
   <Shortcut category="Wizards">
     <Name>wizards_e5messagebox</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Wizards">
+    <Name>wizards_eric_plugin</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Wizards">
     <Name>wizards_python_re</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
@@ -595,6 +690,11 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Wizards">
+    <Name>wizards_e5filedialog</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Wizards">
     <Name>wizards_qfontdialog</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
@@ -614,6 +714,16 @@
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
+  <Shortcut category="Wizards">
+    <Name>wizards_qregularexpression</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Wizards">
+    <Name>wizards_setup_py</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
   <Shortcut category="Debug">
     <Name>dbg_run_script</Name>
     <Accel>F2</Accel>
@@ -675,6 +785,16 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Debug">
+    <Name>dbg_continue_until</Name>
+    <Accel>Ctrl+F6</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Debug">
+    <Name>dbg_jump_to_cursor</Name>
+    <Accel>F12</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Debug">
     <Name>dbg_single_step</Name>
     <Accel>F7</Accel>
     <AltAccel></AltAccel>
@@ -695,16 +815,6 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Debug">
-    <Name>dbg_evaluate</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Debug">
-    <Name>dbg_execute</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Debug">
     <Name>dbg_variables_filter</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
@@ -741,7 +851,7 @@
   </Shortcut>
   <Shortcut category="Debug">
     <Name>dbg_clear_breakpoint</Name>
-    <Accel>Ctrl+Shift+C</Accel>
+    <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Edit">
@@ -762,7 +872,7 @@
   <Shortcut category="Edit">
     <Name>vm_edit_cut</Name>
     <Accel>Ctrl+X</Accel>
-    <AltAccel>Shift+Del</AltAccel>
+    <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Edit">
     <Name>vm_edit_copy</Name>
@@ -796,7 +906,7 @@
   </Shortcut>
   <Shortcut category="Edit">
     <Name>vm_edit_smart_indent</Name>
-    <Accel>Ctrl+Alt+I</Accel>
+    <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Edit">
@@ -806,7 +916,7 @@
   </Shortcut>
   <Shortcut category="Edit">
     <Name>vm_edit_uncomment</Name>
-    <Accel>Ctrl+Alt+M</Accel>
+    <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Edit">
@@ -875,6 +985,21 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Edit">
+    <Name>vm_edit_codeinfo</Name>
+    <Accel>Ctrl+Alt+I</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Edit">
+    <Name>vm_edit_sort</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Edit">
+    <Name>vm_edit_generate_docstring</Name>
+    <Accel>Ctrl+Alt+D</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Edit">
     <Name>vm_edit_move_left_char</Name>
     <Accel>Left</Accel>
     <AltAccel></AltAccel>
@@ -1120,6 +1245,11 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Edit">
+    <Name>vm_edit_reverse selected_lines</Name>
+    <Accel>Meta+Alt+R</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Edit">
     <Name>vm_edit_cut_current_line</Name>
     <Accel>Alt+Shift+L</Accel>
     <AltAccel></AltAccel>
@@ -1135,16 +1265,6 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Edit">
-    <Name>vm_edit_convert_selection_lower</Name>
-    <Accel>Alt+Shift+U</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Edit">
-    <Name>vm_edit_convert_selection_upper</Name>
-    <Accel>Ctrl+Shift+U</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Edit">
     <Name>vm_edit_move_end_displayed_line</Name>
     <Accel>Alt+End</Accel>
     <AltAccel></AltAccel>
@@ -1329,6 +1449,16 @@
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
+  <Shortcut category="Edit">
+    <Name>vm_edit_convert_selection_lower</Name>
+    <Accel>Alt+Shift+U</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Edit">
+    <Name>vm_edit_convert_selection_upper</Name>
+    <Accel>Ctrl+Shift+U</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
   <Shortcut category="File">
     <Name>vm_file_new</Name>
     <Accel>Ctrl+N</Accel>
@@ -1360,6 +1490,11 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="File">
+    <Name>vm_file_save_copy</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="File">
     <Name>vm_file_save_all</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
@@ -1400,11 +1535,36 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Search">
+    <Name>vm_search_word_next</Name>
+    <Accel>Ctrl+.</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Search">
+    <Name>vm_search_word_previous</Name>
+    <Accel>Ctrl+,</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Search">
     <Name>vm_search_replace</Name>
     <Accel>Ctrl+R</Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Search">
+    <Name>vm_replace_search</Name>
+    <Accel>Meta+R</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Search">
+    <Name>vm_replace_occurrence</Name>
+    <Accel>Meta+Ctrl+R</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Search">
+    <Name>vm_replace_all</Name>
+    <Accel>Meta+Shift+R</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Search">
     <Name>vm_quicksearch</Name>
     <Accel>Ctrl+Shift+K</Accel>
     <AltAccel></AltAccel>
@@ -1454,6 +1614,16 @@
     <Accel>Ctrl+Shift+R</Accel>
     <AltAccel></AltAccel>
   </Shortcut>
+  <Shortcut category="Search">
+    <Name>vm_search_in_open_files</Name>
+    <Accel>Ctrl+Alt+Shift+F</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Search">
+    <Name>vm_replace_in_open_files</Name>
+    <Accel>Ctrl+Alt+Shift+R</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
   <Shortcut category="View">
     <Name>vm_view_zoom_in</Name>
     <Accel>Ctrl++</Accel>
@@ -1490,11 +1660,26 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="View">
+    <Name>vm_view_clear_all_folds</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="View">
     <Name>vm_view_unhighlight</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="View">
+    <Name>vm_view_new_document_view</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="View">
+    <Name>vm_view_new_document_split_view</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="View">
     <Name>vm_view_split_view</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
@@ -1516,7 +1701,7 @@
   </Shortcut>
   <Shortcut category="View">
     <Name>vm_previous_split</Name>
-    <Accel>Ctrl+Alt+P</Accel>
+    <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="View">
@@ -1524,6 +1709,16 @@
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
+  <Shortcut category="View">
+    <Name>vm_python_ast_viewer</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="View">
+    <Name>vm_python_dis_viewer</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
   <Shortcut category="Macro">
     <Name>vm_macro_start_recording</Name>
     <Accel></Accel>
@@ -1571,7 +1766,7 @@
   </Shortcut>
   <Shortcut category="Bookmarks">
     <Name>vm_bookmark_clear</Name>
-    <Accel>Ctrl+Alt+C</Accel>
+    <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Bookmarks">
@@ -1619,6 +1814,16 @@
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
+  <Shortcut category="Bookmarks">
+    <Name>vm_change_next</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Bookmarks">
+    <Name>vm_change_previous</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
   <Shortcut category="Spelling">
     <Name>vm_spelling_spellcheck</Name>
     <Accel>Shift+F7</Accel>
@@ -1629,151 +1834,6 @@
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_new</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_update</Name>
-    <Accel>Meta+Alt+U</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_commit</Name>
-    <Accel>Meta+Alt+O</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_add</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_remove</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_log</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_log_browser</Name>
-    <Accel>Meta+Alt+G</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_diff</Name>
-    <Accel>Meta+Alt+D</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_extendeddiff</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_urldiff</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_status</Name>
-    <Accel>Meta+Alt+S</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_tag</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_export</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_options</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_revert</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_merge</Name>
-    <Accel>Meta+Alt+M</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_switch</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_resolve</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_cleanup</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_command</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_list_tags</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_list_branches</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_contents</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_property_set</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_property_list</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_property_delete</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_relocate</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_repo_browser</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Subversion">
-    <Name>subversion_configure</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
   <Shortcut category="RefactoringRope">
     <Name>refactoring_rename</Name>
     <Accel></Accel>
@@ -1895,32 +1955,12 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="RefactoringRope">
-    <Name>refactoring_undo</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="RefactoringRope">
-    <Name>refactoring_redo</Name>
+    <Name>refactoring_show_project_history</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="RefactoringRope">
-    <Name>refactoring_show_project_undo_history</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="RefactoringRope">
-    <Name>refactoring_show_project_redo_history</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="RefactoringRope">
-    <Name>refactoring_show_file_undo_history</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="RefactoringRope">
-    <Name>refactoring_show_file_redo_history</Name>
+    <Name>refactoring_show_file_history</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
@@ -1964,153 +2004,433 @@
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_new</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_update</Name>
-    <Accel>Meta+Alt+U</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_commit</Name>
-    <Accel>Meta+Alt+O</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_add</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_remove</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_log</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_log_browser</Name>
-    <Accel>Meta+Alt+G</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_diff</Name>
-    <Accel>Meta+Alt+D</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_extendeddiff</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_urldiff</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_status</Name>
-    <Accel>Meta+Alt+S</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_repoinfo</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_tag</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_export</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_options</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_revert</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_merge</Name>
-    <Accel>Meta+Alt+M</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_switch</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_resolve</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_cleanup</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_command</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_list_tags</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_list_branches</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_contents</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_property_set</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_property_list</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_property_delete</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_relocate</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_repo_browser</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="PySvn">
-    <Name>subversion_configure</Name>
+  <Shortcut category="Git">
+    <Name>git_new</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_fetch</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_pull</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_commit</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_push</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_export_repo</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_log_browser</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_reflog_browser</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_diff</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_extendeddiff</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_status</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_switch</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_tag</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_list_tags</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_describe_tag</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_list_branches</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_list_merged_branches</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_list_non_merged_branches</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_branch</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_delete_remote_branch</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_show_branch</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_revert</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_revert</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_merge</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_cancel_merge</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_commit_merge</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_cleanup</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_command</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_configure</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_show_remotes</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_show_remote_info</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_add_remote</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_remove_remote</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_prune_remote</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_rename_remote</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_change_remote_url</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_remote_credentials</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_cherrypick</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_cherrypick_continue</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_cherrypick_quit</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_cherrypick_abort</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_stash</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_stash_browser</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_stash_show</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_stash_apply</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_stash_pop</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_stash_branch</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_stash_delete</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_stash_delete_all</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_user_configure</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_repo_configure</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_create_ignore</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_show_config</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_verify</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_housekeeping</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_statistics</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_create_archive</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>mercurial_bundle_create</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>mercurial_bundle_verify</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>mercurial_bundle_list_heads</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>mercurial_bundle_apply_fetch</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>mercurial_bundle_apply_pull</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_bisect_start</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_bisect_start_extended</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_bisect_good</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_bisect_bad</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_bisect_skip</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_bisect_reset</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_bisect_log_browser</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_bisect_create_replay</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_bisect_edit_replay</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_bisect_replay</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_check_patches</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_apply_patches</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_show_patches_statistics</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_submodule_add</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_submodules_list</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_submodules_init</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_submodules_deinit</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_submodules_update</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_submodules_update_init</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_submodules_update_remote</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_submodules_update_options</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_submodules_sync</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_submodules_status</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Git">
+    <Name>git_submodules_summary</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
@@ -2136,12 +2456,12 @@
   </Shortcut>
   <Shortcut category="Mercurial">
     <Name>mercurial_commit</Name>
-    <Accel>Meta+Alt+O</Accel>
+    <Accel>Meta+Alt+C</Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
     <Name>mercurial_outgoing</Name>
-    <Accel></Accel>
+    <Accel>Meta+Alt+O</Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
@@ -2155,28 +2475,13 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>subversion_export</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Mercurial">
-    <Name>mercurial_add</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Mercurial">
-    <Name>mercurial_remove</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Mercurial">
-    <Name>mercurial_log</Name>
+    <Name>mercurial_export_repo</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
     <Name>mercurial_log_browser</Name>
-    <Accel>Meta+Alt+G</Accel>
+    <Accel>Meta+Alt+L</Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
@@ -2195,6 +2500,11 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
+    <Name>mercurial_summary</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
     <Name>mercurial_heads</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
@@ -2220,13 +2530,38 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
+    <Name>mercurial_commit_merge</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_cancel_merge</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_remerge</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_show_conflicts</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
     <Name>mercurial_resolve</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
+    <Name>mercurial_unresolve</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
     <Name>mercurial_tag</Name>
-    <Accel></Accel>
+    <Accel>Meta+Alt+T</Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
@@ -2275,11 +2610,6 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_options</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Mercurial">
     <Name>mercurial_configure</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
@@ -2335,11 +2665,6 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_identify_bundle</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Mercurial">
     <Name>mercurial_unbundle</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
@@ -2385,57 +2710,112 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_import</Name>
+    <Name>mercurial_export</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_rebase</Name>
+    <Name>mercurial_change_phase</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_graft</Name>
+    <Accel>Meta+Alt+G</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_graft_continue</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_rebase_continue</Name>
+    <Name>mercurial_graft_stop</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_graft_abort</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_rebase_abort</Name>
+    <Name>mercurial_add_subrepo</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_gpg_list</Name>
+    <Name>mercurial_remove_subrepos</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_archive</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_list_bookmarks</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_gpg_verify</Name>
+    <Name>mercurial_define_bookmark</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_delete_bookmark</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_gpg_sign</Name>
+    <Name>mercurial_rename_bookmark</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_move_bookmark</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_incoming_bookmarks</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_purge</Name>
+    <Name>mercurial_pull_bookmark</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_outgoing_bookmarks</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_push_bookmark</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_purge_all</Name>
+    <Name>mercurial_push_current_bookmark</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_purge_list</Name>
+    <Name>mercurial_delete_all_backups</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_purge_all_list</Name>
+    <Name>mercurial_queues_init</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_queues_commit</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
@@ -2490,6 +2870,16 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
+    <Name>mercurial_queues_status</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_queues_summary</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
     <Name>mercurial_queues_push_next</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
@@ -2625,363 +3015,438 @@
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_list_bookmarks</Name>
+    <Name>mercurial_purge</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_purge_all</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_purge_list</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_purge_all_list</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_gpg_list</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_gpg_verify</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_define_bookmark</Name>
+    <Name>mercurial_gpg_sign</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_rebase</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_rebase_continue</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_delete_bookmark</Name>
+    <Name>mercurial_rebase_abort</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_shelve</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_rename_bookmark</Name>
+    <Name>mercurial_shelve_browser</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_unshelve</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_unshelve_abort</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_move_bookmark</Name>
+    <Name>mercurial_unshelve_continue</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_shelve_delete</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_shelve_cleanup</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_incoming_bookmarks</Name>
+    <Name>mercurial_convert_to_largefiles</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_convert_to_normal</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_pull_largefiles</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_summary_largefiles</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_pull_bookmark</Name>
+    <Name>mercurial_verify_large</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_verify_lfa</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_verify_lfc</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_outgoing_bookmarks</Name>
+    <Name>mercurial_strip</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_histedit_start</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_push_bookmark</Name>
+    <Name>mercurial_histedit_continue</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_histedit_abort</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Mercurial">
+    <Name>mercurial_histedit_edit_plan</Name>
     <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
   <Shortcut category="Mercurial">
-    <Name>mercurial_fetch</Name>
-    <Accel>Meta+Alt+F</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Mercurial">
-    <Name>mercurial_transplant</Name>
-    <Accel>Meta+Alt+T</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="Mercurial">
-    <Name>mercurial_transplant_continue</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_file_new_tab</Name>
-    <Accel>Ctrl+T</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_file_new_window</Name>
-    <Accel>Ctrl+N</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_file_open</Name>
-    <Accel>Ctrl+O</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_file_open_tab</Name>
-    <Accel>Ctrl+Shift+O</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_file_save_as</Name>
-    <Accel>Ctrl+Shift+S</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_file_import_bookmarks</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_file_export_bookmarks</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_file_print</Name>
-    <Accel>Ctrl+P</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_file_print_pdf</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_file_print_preview</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_file_close</Name>
-    <Accel>Ctrl+W</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_file_close_all</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_file_private_browsing</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_file_quit</Name>
-    <Accel>Ctrl+Q</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_go_backward</Name>
-    <Accel>Alt+Left</Accel>
-    <AltAccel>Backspace</AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_go_foreward</Name>
-    <Accel>Alt+Right</Accel>
-    <AltAccel>Shift+Backspace</AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_go_home</Name>
-    <Accel>Ctrl+Home</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_go_reload</Name>
-    <Accel>Ctrl+R</Accel>
-    <AltAccel>F5</AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_go_stop</Name>
-    <Accel>Ctrl+.</Accel>
-    <AltAccel>Esc</AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_edit_copy</Name>
-    <Accel>Ctrl+C</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_edit_find</Name>
-    <Accel>Ctrl+F</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_edit_find_next</Name>
-    <Accel>F3</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_edit_find_previous</Name>
-    <Accel>Shift+F3</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_bookmarks_manage</Name>
-    <Accel>Ctrl+Shift+B</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_bookmark_add</Name>
-    <Accel>Ctrl+D</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_bookmark_show_all</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_bookmark_all_tabs</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_help_whats_this</Name>
-    <Accel>Shift+F1</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_help_about</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_help_about_qt</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_view_zoom_in</Name>
-    <Accel>Ctrl++</Accel>
-    <AltAccel>Zoom In</AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_view_zoom_out</Name>
-    <Accel>Ctrl+-</Accel>
-    <AltAccel>Zoom Out</AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_view_zoom_reset</Name>
-    <Accel>Ctrl+0</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_view_zoom_text_only</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_show_page_source</Name>
-    <Accel>Ctrl+U</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_view_full_scree</Name>
-    <Accel>F11</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_view_next_tab</Name>
-    <Accel>Ctrl+Alt+Tab</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_view_previous_tab</Name>
-    <Accel>Ctrl+Alt+Shift+Tab</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_switch_tabs</Name>
-    <Accel>Ctrl+1</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_preferences</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_accepted_languages</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_cookies</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_offline_storage</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_sync_toc</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_show_toc</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_show_index</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_show_search</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_qthelp_documents</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_qthelp_filters</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_qthelp_reindex</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_clear_private_data</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_clear_icons_db</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_search_engines</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_manage_passwords</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_adblock</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_manage_certificates</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_tools_network_monitor</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_show_downloads</Name>
-    <Accel></Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_rss_feeds</Name>
-    <Accel>Ctrl+Shift+F</Accel>
-    <AltAccel></AltAccel>
-  </Shortcut>
-  <Shortcut category="HelpViewer">
-    <Name>help_siteinfo</Name>
-    <Accel>Ctrl+Shift+I</Accel>
+    <Name>mercurial_closehead</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_new</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_update</Name>
+    <Accel>Meta+Alt+U</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_commit</Name>
+    <Accel>Meta+Alt+C</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_log_browser</Name>
+    <Accel>Meta+Alt+L</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_diff</Name>
+    <Accel>Meta+Alt+D</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_extendeddiff</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_urldiff</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_status</Name>
+    <Accel>Meta+Alt+S</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_changelists</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_repoinfo</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_tag</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_export</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_options</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_revert</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_merge</Name>
+    <Accel>Meta+Alt+M</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_switch</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_resolve</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_cleanup</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_command</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_list_tags</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_list_branches</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_contents</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_property_set</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_property_list</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_property_delete</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_relocate</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_repo_browser</Name>
+    <Accel>Meta+Alt+B</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_configure</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="PySvn">
+    <Name>pysvn_upgrade</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_new</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_update</Name>
+    <Accel>Meta+Alt+U</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_commit</Name>
+    <Accel>Meta+Alt+C</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_log_browser</Name>
+    <Accel>Meta+Alt+L</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_diff</Name>
+    <Accel>Meta+Alt+D</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_extendeddiff</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_urldiff</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_status</Name>
+    <Accel>Meta+Alt+S</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_changelists</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_tag</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_export</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_options</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_revert</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_merge</Name>
+    <Accel>Meta+Alt+M</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_switch</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_resolve</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_cleanup</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_command</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_list_tags</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_list_branches</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_contents</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_property_set</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_property_list</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_property_delete</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_relocate</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_repo_browser</Name>
+    <Accel>Meta+Alt+B</Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_configure</Name>
+    <Accel></Accel>
+    <AltAccel></AltAccel>
+  </Shortcut>
+  <Shortcut category="Subversion">
+    <Name>subversion_upgrade</Name>
+    <Accel></Accel>
     <AltAccel></AltAccel>
   </Shortcut>
 </Shortcuts>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/others/default.ekj	Thu Jan 28 16:35:28 2021 +0100
@@ -0,0 +1,2785 @@
+{
+  "header": {
+    "comment": "eric keyboard shortcuts file",
+    "saved": "2021-01-28, 16:14:49",
+    "author": "Detlev Offenbach <detlev@die-offenbachs.de>"
+  },
+  "shortcuts": {
+    "Project": {
+      "project_new": [
+        "",
+        ""
+      ],
+      "project_open": [
+        "",
+        ""
+      ],
+      "project_close": [
+        "",
+        ""
+      ],
+      "project_save": [
+        "",
+        ""
+      ],
+      "project_save_as": [
+        "",
+        ""
+      ],
+      "project_add_file": [
+        "",
+        ""
+      ],
+      "project_add_directory": [
+        "",
+        ""
+      ],
+      "project_add_translation": [
+        "",
+        ""
+      ],
+      "project_search_new_files": [
+        "",
+        ""
+      ],
+      "project_search_project_file": [
+        "Ctrl+Alt+P",
+        ""
+      ],
+      "project_properties": [
+        "",
+        ""
+      ],
+      "project_user_properties": [
+        "",
+        ""
+      ],
+      "project_filetype_associations": [
+        "",
+        ""
+      ],
+      "project_lexer_associations": [
+        "",
+        ""
+      ],
+      "project_debugger_properties": [
+        "",
+        ""
+      ],
+      "project_debugger_properties_load": [
+        "",
+        ""
+      ],
+      "project_debugger_properties_save": [
+        "",
+        ""
+      ],
+      "project_debugger_properties_delete": [
+        "",
+        ""
+      ],
+      "project_debugger_properties_resets": [
+        "",
+        ""
+      ],
+      "project_load_session": [
+        "",
+        ""
+      ],
+      "project_save_session": [
+        "",
+        ""
+      ],
+      "project_delete_session": [
+        "",
+        ""
+      ],
+      "project_code_metrics": [
+        "",
+        ""
+      ],
+      "project_code_coverage": [
+        "",
+        ""
+      ],
+      "project_profile_data": [
+        "",
+        ""
+      ],
+      "project_application_diagram": [
+        "",
+        ""
+      ],
+      "project_load_diagram": [
+        "",
+        ""
+      ],
+      "project_plugin_pkglist": [
+        "",
+        ""
+      ],
+      "project_plugin_archive": [
+        "",
+        ""
+      ],
+      "project_plugin_sarchive": [
+        "",
+        ""
+      ],
+      "project_make_execute": [
+        "",
+        ""
+      ],
+      "project_make_test": [
+        "",
+        ""
+      ],
+      "project_check_pep8": [
+        "",
+        ""
+      ],
+      "doc_eric6_api": [
+        "",
+        ""
+      ],
+      "doc_eric6_doc": [
+        "",
+        ""
+      ],
+      "project_show_radon_raw": [
+        "",
+        ""
+      ],
+      "project_show_radon_mi": [
+        "",
+        ""
+      ],
+      "project_show_radon_cc": [
+        "",
+        ""
+      ],
+      "project_check_syntax": [
+        "",
+        ""
+      ],
+      "project_check_vulture": [
+        "",
+        ""
+      ]
+    },
+    "General": {
+      "quit": [
+        "Ctrl+Q",
+        ""
+      ],
+      "restart_eric": [
+        "Ctrl+Shift+Q",
+        ""
+      ],
+      "save_session_to_file": [
+        "",
+        ""
+      ],
+      "load_session_from_file": [
+        "",
+        ""
+      ],
+      "new_window": [
+        "Ctrl+Shift+N",
+        ""
+      ],
+      "edit_profile": [
+        "",
+        ""
+      ],
+      "debug_profile": [
+        "",
+        ""
+      ],
+      "project_viewer_activate": [
+        "Alt+Shift+P",
+        ""
+      ],
+      "multi_project_viewer_activate": [
+        "Alt+Shift+M",
+        ""
+      ],
+      "debug_viewer_activate": [
+        "Alt+Shift+D",
+        ""
+      ],
+      "interpreter_shell_activate": [
+        "Alt+Shift+S",
+        ""
+      ],
+      "file_browser_activate": [
+        "Alt+Shift+F",
+        ""
+      ],
+      "log_viewer_activate": [
+        "Alt+Shift+G",
+        ""
+      ],
+      "task_viewer_activate": [
+        "Alt+Shift+T",
+        ""
+      ],
+      "template_viewer_activate": [
+        "Alt+Shift+A",
+        ""
+      ],
+      "vertical_toolbox": [
+        "",
+        ""
+      ],
+      "horizontal_toolbox": [
+        "",
+        ""
+      ],
+      "left_sidebar": [
+        "",
+        ""
+      ],
+      "right_sidebar": [
+        "",
+        ""
+      ],
+      "bottom_sidebar": [
+        "",
+        ""
+      ],
+      "cooperation_viewer_activate": [
+        "Alt+Shift+O",
+        ""
+      ],
+      "irc_widget_activate": [
+        "Ctrl+Alt+Shift+I",
+        ""
+      ],
+      "symbols_viewer_activate": [
+        "Alt+Shift+Y",
+        ""
+      ],
+      "numbers_viewer_activate": [
+        "Alt+Shift+B",
+        ""
+      ],
+      "code_documentation_viewer_activate": [
+        "Ctrl+Alt+Shift+D",
+        ""
+      ],
+      "pip_widget_activate": [
+        "Ctrl+Alt+Shift+P",
+        ""
+      ],
+      "conda_widget_activate": [
+        "Ctrl+Alt+Shift+C",
+        ""
+      ],
+      "micropython_widget_activate": [
+        "Ctrl+Alt+Shift+M",
+        ""
+      ],
+      "whatsThis": [
+        "Shift+F1",
+        ""
+      ],
+      "helpviewer": [
+        "F1",
+        ""
+      ],
+      "qt5_documentation": [
+        "",
+        ""
+      ],
+      "qt6_documentation": [
+        "",
+        ""
+      ],
+      "pyqt5_documentation": [
+        "",
+        ""
+      ],
+      "pyqt6_documentation": [
+        "",
+        ""
+      ],
+      "python3_documentation": [
+        "",
+        ""
+      ],
+      "eric_documentation": [
+        "",
+        ""
+      ],
+      "pyside2_documentation": [
+        "",
+        ""
+      ],
+      "pyside6_documentation": [
+        "",
+        ""
+      ],
+      "show_versions": [
+        "",
+        ""
+      ],
+      "check_updates": [
+        "",
+        ""
+      ],
+      "show_downloadable_versions": [
+        "",
+        ""
+      ],
+      "show_error_log": [
+        "",
+        ""
+      ],
+      "show_install_info": [
+        "",
+        ""
+      ],
+      "report_bug": [
+        "",
+        ""
+      ],
+      "request_feature": [
+        "",
+        ""
+      ],
+      "unittest": [
+        "",
+        ""
+      ],
+      "unittest_restart": [
+        "",
+        ""
+      ],
+      "unittest_rerun_failed": [
+        "",
+        ""
+      ],
+      "unittest_script": [
+        "",
+        ""
+      ],
+      "unittest_project": [
+        "",
+        ""
+      ],
+      "qt_designer4": [
+        "",
+        ""
+      ],
+      "qt_linguist4": [
+        "",
+        ""
+      ],
+      "ui_previewer": [
+        "",
+        ""
+      ],
+      "tr_previewer": [
+        "",
+        ""
+      ],
+      "diff_files": [
+        "",
+        ""
+      ],
+      "compare_files": [
+        "",
+        ""
+      ],
+      "sql_browser": [
+        "",
+        ""
+      ],
+      "mini_editor": [
+        "",
+        ""
+      ],
+      "hex_editor": [
+        "",
+        ""
+      ],
+      "web_browser": [
+        "",
+        ""
+      ],
+      "icon_editor": [
+        "",
+        ""
+      ],
+      "snapshot": [
+        "",
+        ""
+      ],
+      "preferences": [
+        "",
+        ""
+      ],
+      "export_preferences": [
+        "",
+        ""
+      ],
+      "import_preferences": [
+        "",
+        ""
+      ],
+      "reload_apis": [
+        "",
+        ""
+      ],
+      "show_external_tools": [
+        "",
+        ""
+      ],
+      "view_profiles": [
+        "",
+        ""
+      ],
+      "configure_toolbars": [
+        "",
+        ""
+      ],
+      "keyboard_shortcuts": [
+        "",
+        ""
+      ],
+      "export_keyboard_shortcuts": [
+        "",
+        ""
+      ],
+      "import_keyboard_shortcuts": [
+        "",
+        ""
+      ],
+      "manage_ssl_certificates": [
+        "",
+        ""
+      ],
+      "manage_message_filters": [
+        "",
+        ""
+      ],
+      "clear_private_data": [
+        "",
+        ""
+      ],
+      "viewmanager_activate": [
+        "Alt+Shift+E",
+        ""
+      ],
+      "view_next_tab": [
+        "Ctrl+Alt+Tab",
+        ""
+      ],
+      "view_previous_tab": [
+        "Ctrl+Alt+Shift+Tab",
+        ""
+      ],
+      "switch_tabs": [
+        "Ctrl+1",
+        ""
+      ],
+      "plugin_infos": [
+        "",
+        ""
+      ],
+      "plugin_install": [
+        "",
+        ""
+      ],
+      "plugin_deinstall": [
+        "",
+        ""
+      ],
+      "plugin_repository": [
+        "",
+        ""
+      ],
+      "virtualenv_manager": [
+        "",
+        ""
+      ],
+      "virtualenv_configurator": [
+        "",
+        ""
+      ],
+      "about_eric": [
+        "",
+        ""
+      ],
+      "about_qt": [
+        "",
+        ""
+      ],
+      "time_tracker_activate": [
+        "Alt+Shift+I",
+        ""
+      ],
+      "translator_activate": [
+        "Alt+Shift+R",
+        ""
+      ]
+    },
+    "Wizards": {
+      "wizards_datauriencoder": [
+        "",
+        ""
+      ],
+      "wizards_dotdesktop": [
+        "",
+        ""
+      ],
+      "wizards_e5messagebox": [
+        "",
+        ""
+      ],
+      "wizards_eric_plugin": [
+        "",
+        ""
+      ],
+      "wizards_python_re": [
+        "",
+        ""
+      ],
+      "wizards_qcolordialog": [
+        "",
+        ""
+      ],
+      "wizards_qfiledialog": [
+        "",
+        ""
+      ],
+      "wizards_e5filedialog": [
+        "",
+        ""
+      ],
+      "wizards_qfontdialog": [
+        "",
+        ""
+      ],
+      "wizards_qinputdialog": [
+        "",
+        ""
+      ],
+      "wizards_qmessagebox": [
+        "",
+        ""
+      ],
+      "wizards_qregexp": [
+        "",
+        ""
+      ],
+      "wizards_qregularexpression": [
+        "",
+        ""
+      ],
+      "wizards_setup_py": [
+        "",
+        ""
+      ]
+    },
+    "Debug": {
+      "dbg_run_script": [
+        "F2",
+        ""
+      ],
+      "dbg_run_project": [
+        "Shift+F2",
+        ""
+      ],
+      "dbg_coverage_script": [
+        "",
+        ""
+      ],
+      "dbg_coverage_project": [
+        "",
+        ""
+      ],
+      "dbg_profile_script": [
+        "",
+        ""
+      ],
+      "dbg_profile_project": [
+        "",
+        ""
+      ],
+      "dbg_debug_script": [
+        "F5",
+        ""
+      ],
+      "dbg_debug_project": [
+        "Shift+F5",
+        ""
+      ],
+      "dbg_restart_script": [
+        "F4",
+        ""
+      ],
+      "dbg_stop_script": [
+        "Shift+F10",
+        ""
+      ],
+      "dbg_continue": [
+        "F6",
+        ""
+      ],
+      "dbg_continue_to_cursor": [
+        "Shift+F6",
+        ""
+      ],
+      "dbg_continue_until": [
+        "Ctrl+F6",
+        ""
+      ],
+      "dbg_jump_to_cursor": [
+        "F12",
+        ""
+      ],
+      "dbg_single_step": [
+        "F7",
+        ""
+      ],
+      "dbg_step_over": [
+        "F8",
+        ""
+      ],
+      "dbg_step_out": [
+        "F9",
+        ""
+      ],
+      "dbg_stop": [
+        "F10",
+        ""
+      ],
+      "dbg_variables_filter": [
+        "",
+        ""
+      ],
+      "dbg_exceptions_filter": [
+        "",
+        ""
+      ],
+      "dbg_ignored_exceptions": [
+        "",
+        ""
+      ],
+      "dbg_toggle_breakpoint": [
+        "Shift+F11",
+        ""
+      ],
+      "dbg_edit_breakpoint": [
+        "Shift+F12",
+        ""
+      ],
+      "dbg_next_breakpoint": [
+        "Ctrl+Shift+PgDown",
+        ""
+      ],
+      "dbg_previous_breakpoint": [
+        "Ctrl+Shift+PgUp",
+        ""
+      ],
+      "dbg_clear_breakpoint": [
+        "",
+        ""
+      ]
+    },
+    "Edit": {
+      "vm_edit_undo": [
+        "Ctrl+Z",
+        "Alt+Backspace"
+      ],
+      "vm_edit_redo": [
+        "Ctrl+Shift+Z",
+        ""
+      ],
+      "vm_edit_revert": [
+        "Ctrl+Y",
+        ""
+      ],
+      "vm_edit_cut": [
+        "Ctrl+X",
+        ""
+      ],
+      "vm_edit_copy": [
+        "Ctrl+C",
+        "Ctrl+Ins"
+      ],
+      "vm_edit_paste": [
+        "Ctrl+V",
+        "Shift+Ins"
+      ],
+      "vm_edit_clear": [
+        "Alt+Shift+C",
+        ""
+      ],
+      "vm_edit_join_lines": [
+        "Ctrl+J",
+        ""
+      ],
+      "vm_edit_indent": [
+        "Ctrl+I",
+        ""
+      ],
+      "vm_edit_unindent": [
+        "Ctrl+Shift+I",
+        ""
+      ],
+      "vm_edit_smart_indent": [
+        "",
+        ""
+      ],
+      "vm_edit_comment": [
+        "Ctrl+M",
+        ""
+      ],
+      "vm_edit_uncomment": [
+        "",
+        ""
+      ],
+      "vm_edit_toggle_comment": [
+        "Ctrl+Shift+M",
+        ""
+      ],
+      "vm_edit_stream_comment": [
+        "",
+        ""
+      ],
+      "vm_edit_box_comment": [
+        "",
+        ""
+      ],
+      "vm_edit_select_to_brace": [
+        "Ctrl+E",
+        ""
+      ],
+      "vm_edit_select_all": [
+        "Ctrl+A",
+        ""
+      ],
+      "vm_edit_deselect_all": [
+        "Ctrl+Alt+A",
+        ""
+      ],
+      "vm_edit_convert_eol": [
+        "",
+        ""
+      ],
+      "vm_edit_shorten_empty_lines": [
+        "",
+        ""
+      ],
+      "vm_edit_autocomplete": [
+        "Ctrl+Space",
+        ""
+      ],
+      "vm_edit_autocomplete_from_document": [
+        "Ctrl+Shift+Space",
+        ""
+      ],
+      "vm_edit_autocomplete_from_api": [
+        "Ctrl+Alt+Space",
+        ""
+      ],
+      "vm_edit_autocomplete_from_all": [
+        "Alt+Shift+Space",
+        ""
+      ],
+      "vm_edit_calltip": [
+        "Alt+Space",
+        ""
+      ],
+      "vm_edit_codeinfo": [
+        "Ctrl+Alt+I",
+        ""
+      ],
+      "vm_edit_sort": [
+        "",
+        ""
+      ],
+      "vm_edit_generate_docstring": [
+        "Ctrl+Alt+D",
+        ""
+      ],
+      "vm_edit_move_left_char": [
+        "Left",
+        ""
+      ],
+      "vm_edit_move_right_char": [
+        "Right",
+        ""
+      ],
+      "vm_edit_move_up_line": [
+        "Up",
+        ""
+      ],
+      "vm_edit_move_down_line": [
+        "Down",
+        ""
+      ],
+      "vm_edit_move_left_word_part": [
+        "Alt+Left",
+        ""
+      ],
+      "vm_edit_move_right_word_part": [
+        "Alt+Right",
+        ""
+      ],
+      "vm_edit_move_left_word": [
+        "Ctrl+Left",
+        ""
+      ],
+      "vm_edit_move_right_word": [
+        "Ctrl+Right",
+        ""
+      ],
+      "vm_edit_move_first_visible_char": [
+        "Home",
+        ""
+      ],
+      "vm_edit_move_start_line": [
+        "Alt+Home",
+        ""
+      ],
+      "vm_edit_move_end_line": [
+        "End",
+        ""
+      ],
+      "vm_edit_scroll_down_line": [
+        "Ctrl+Down",
+        ""
+      ],
+      "vm_edit_scroll_up_line": [
+        "Ctrl+Up",
+        ""
+      ],
+      "vm_edit_move_up_para": [
+        "Alt+Up",
+        ""
+      ],
+      "vm_edit_move_down_para": [
+        "Alt+Down",
+        ""
+      ],
+      "vm_edit_move_up_page": [
+        "PgUp",
+        ""
+      ],
+      "vm_edit_move_down_page": [
+        "PgDown",
+        ""
+      ],
+      "vm_edit_move_start_text": [
+        "Ctrl+Home",
+        ""
+      ],
+      "vm_edit_move_end_text": [
+        "Ctrl+End",
+        ""
+      ],
+      "vm_edit_indent_one_level": [
+        "Tab",
+        ""
+      ],
+      "vm_edit_unindent_one_level": [
+        "Shift+Tab",
+        ""
+      ],
+      "vm_edit_extend_selection_left_char": [
+        "Shift+Left",
+        ""
+      ],
+      "vm_edit_extend_selection_right_char": [
+        "Shift+Right",
+        ""
+      ],
+      "vm_edit_extend_selection_up_line": [
+        "Shift+Up",
+        ""
+      ],
+      "vm_edit_extend_selection_down_line": [
+        "Shift+Down",
+        ""
+      ],
+      "vm_edit_extend_selection_left_word_part": [
+        "Alt+Shift+Left",
+        ""
+      ],
+      "vm_edit_extend_selection_right_word_part": [
+        "Alt+Shift+Right",
+        ""
+      ],
+      "vm_edit_extend_selection_left_word": [
+        "Ctrl+Shift+Left",
+        ""
+      ],
+      "vm_edit_extend_selection_right_word": [
+        "Ctrl+Shift+Right",
+        ""
+      ],
+      "vm_edit_extend_selection_first_visible_char": [
+        "Shift+Home",
+        ""
+      ],
+      "vm_edit_extend_selection_end_line": [
+        "Shift+End",
+        ""
+      ],
+      "vm_edit_extend_selection_up_para": [
+        "Alt+Shift+Up",
+        ""
+      ],
+      "vm_edit_extend_selection_down_para": [
+        "Alt+Shift+Down",
+        ""
+      ],
+      "vm_edit_extend_selection_up_page": [
+        "Shift+PgUp",
+        ""
+      ],
+      "vm_edit_extend_selection_down_page": [
+        "Shift+PgDown",
+        ""
+      ],
+      "vm_edit_extend_selection_start_text": [
+        "Ctrl+Shift+Home",
+        ""
+      ],
+      "vm_edit_extend_selection_end_text": [
+        "Ctrl+Shift+End",
+        ""
+      ],
+      "vm_edit_delete_previous_char": [
+        "Backspace",
+        "Shift+Backspace"
+      ],
+      "vm_edit_delet_previous_char_not_line_start": [
+        "",
+        ""
+      ],
+      "vm_edit_delete_current_char": [
+        "Del",
+        ""
+      ],
+      "vm_edit_delete_word_left": [
+        "Ctrl+Backspace",
+        ""
+      ],
+      "vm_edit_delete_word_right": [
+        "Ctrl+Del",
+        ""
+      ],
+      "vm_edit_delete_line_left": [
+        "Ctrl+Shift+Backspace",
+        ""
+      ],
+      "vm_edit_delete_line_right": [
+        "Ctrl+Shift+Del",
+        ""
+      ],
+      "vm_edit_insert_line": [
+        "Return",
+        "Enter"
+      ],
+      "vm_edit_insert_line_below": [
+        "Shift+Return",
+        "Shift+Enter"
+      ],
+      "vm_edit_delete_current_line": [
+        "Ctrl+Shift+L",
+        ""
+      ],
+      "vm_edit_duplicate_current_line": [
+        "Ctrl+D",
+        ""
+      ],
+      "vm_edit_swap_current_previous_line": [
+        "Ctrl+T",
+        ""
+      ],
+      "vm_edit_reverse selected_lines": [
+        "Meta+Alt+R",
+        ""
+      ],
+      "vm_edit_cut_current_line": [
+        "Alt+Shift+L",
+        ""
+      ],
+      "vm_edit_copy_current_line": [
+        "Ctrl+Shift+T",
+        ""
+      ],
+      "vm_edit_toggle_insert_overtype": [
+        "Ins",
+        ""
+      ],
+      "vm_edit_move_end_displayed_line": [
+        "Alt+End",
+        ""
+      ],
+      "vm_edit_extend_selection_end_displayed_line": [
+        "",
+        ""
+      ],
+      "vm_edit_formfeed": [
+        "",
+        ""
+      ],
+      "vm_edit_escape": [
+        "Esc",
+        ""
+      ],
+      "vm_edit_extend_rect_selection_down_line": [
+        "Ctrl+Alt+Down",
+        ""
+      ],
+      "vm_edit_extend_rect_selection_up_line": [
+        "Ctrl+Alt+Up",
+        ""
+      ],
+      "vm_edit_extend_rect_selection_left_char": [
+        "Ctrl+Alt+Left",
+        ""
+      ],
+      "vm_edit_extend_rect_selection_right_char": [
+        "Ctrl+Alt+Right",
+        ""
+      ],
+      "vm_edit_extend_rect_selection_first_visible_char": [
+        "Alt+Shift+Home",
+        ""
+      ],
+      "vm_edit_extend_rect_selection_end_line": [
+        "Alt+Shift+End",
+        ""
+      ],
+      "vm_edit_extend_rect_selection_up_page": [
+        "Alt+Shift+PgUp",
+        ""
+      ],
+      "vm_edit_extend_rect_selection_down_page": [
+        "Alt+Shift+PgDown",
+        ""
+      ],
+      "vm_edit_duplicate_current_selection": [
+        "Ctrl+Shift+D",
+        ""
+      ],
+      "vm_edit_scroll_start_text": [
+        "",
+        ""
+      ],
+      "vm_edit_scroll_end_text": [
+        "",
+        ""
+      ],
+      "vm_edit_scroll_vertically_center": [
+        "",
+        ""
+      ],
+      "vm_edit_move_end_next_word": [
+        "",
+        ""
+      ],
+      "vm_edit_select_end_next_word": [
+        "",
+        ""
+      ],
+      "vm_edit_move_end_previous_word": [
+        "",
+        ""
+      ],
+      "vm_edit_select_end_previous_word": [
+        "",
+        ""
+      ],
+      "vm_edit_move_start_document_line": [
+        "",
+        ""
+      ],
+      "vm_edit_extend_selection_start_document_line": [
+        "",
+        ""
+      ],
+      "vm_edit_select_rect_start_line": [
+        "",
+        ""
+      ],
+      "vm_edit_extend_selection_start_display_line": [
+        "",
+        ""
+      ],
+      "vm_edit_move_start_display_document_line": [
+        "",
+        ""
+      ],
+      "vm_edit_extend_selection_start_display_document_line": [
+        "",
+        ""
+      ],
+      "vm_edit_move_first_visible_char_document_line": [
+        "",
+        ""
+      ],
+      "vm_edit_extend_selection_first_visible_char_document_line": [
+        "",
+        ""
+      ],
+      "vm_edit_end_start_display_document_line": [
+        "",
+        ""
+      ],
+      "vm_edit_extend_selection_end_display_document_line": [
+        "",
+        ""
+      ],
+      "vm_edit_stuttered_move_up_page": [
+        "",
+        ""
+      ],
+      "vm_edit_stuttered_extend_selection_up_page": [
+        "",
+        ""
+      ],
+      "vm_edit_stuttered_move_down_page": [
+        "",
+        ""
+      ],
+      "vm_edit_stuttered_extend_selection_down_page": [
+        "",
+        ""
+      ],
+      "vm_edit_delete_right_end_next_word": [
+        "",
+        ""
+      ],
+      "vm_edit_move_selection_up_one_line": [
+        "",
+        ""
+      ],
+      "vm_edit_move_selection_down_one_line": [
+        "",
+        ""
+      ],
+      "vm_edit_convert_selection_lower": [
+        "Alt+Shift+U",
+        ""
+      ],
+      "vm_edit_convert_selection_upper": [
+        "Ctrl+Shift+U",
+        ""
+      ]
+    },
+    "File": {
+      "vm_file_new": [
+        "Ctrl+N",
+        ""
+      ],
+      "vm_file_open": [
+        "Ctrl+O",
+        ""
+      ],
+      "vm_file_close": [
+        "Ctrl+W",
+        ""
+      ],
+      "vm_file_close_all": [
+        "",
+        ""
+      ],
+      "vm_file_save": [
+        "Ctrl+S",
+        ""
+      ],
+      "vm_file_save_as": [
+        "Ctrl+Shift+S",
+        ""
+      ],
+      "vm_file_save_copy": [
+        "",
+        ""
+      ],
+      "vm_file_save_all": [
+        "",
+        ""
+      ],
+      "vm_file_print": [
+        "Ctrl+P",
+        ""
+      ],
+      "vm_file_print_preview": [
+        "",
+        ""
+      ],
+      "vm_file_search_file": [
+        "Ctrl+Alt+F",
+        ""
+      ]
+    },
+    "Search": {
+      "vm_search": [
+        "Ctrl+F",
+        ""
+      ],
+      "vm_search_next": [
+        "F3",
+        ""
+      ],
+      "vm_search_previous": [
+        "Shift+F3",
+        ""
+      ],
+      "vm_clear_search_markers": [
+        "Ctrl+3",
+        ""
+      ],
+      "vm_search_word_next": [
+        "Ctrl+.",
+        ""
+      ],
+      "vm_search_word_previous": [
+        "Ctrl+,",
+        ""
+      ],
+      "vm_search_replace": [
+        "Ctrl+R",
+        ""
+      ],
+      "vm_replace_search": [
+        "Meta+R",
+        ""
+      ],
+      "vm_replace_occurrence": [
+        "Meta+Ctrl+R",
+        ""
+      ],
+      "vm_replace_all": [
+        "Meta+Shift+R",
+        ""
+      ],
+      "vm_quicksearch": [
+        "Ctrl+Shift+K",
+        ""
+      ],
+      "vm_quicksearch_backwards": [
+        "Ctrl+Shift+J",
+        ""
+      ],
+      "vm_quicksearch_extend": [
+        "Ctrl+Shift+H",
+        ""
+      ],
+      "vm_search_goto_line": [
+        "Ctrl+G",
+        ""
+      ],
+      "vm_search_goto_brace": [
+        "Ctrl+L",
+        ""
+      ],
+      "vm_search_goto_last_edit_location": [
+        "Ctrl+Shift+G",
+        ""
+      ],
+      "vm_search_goto_previous_method_or_class": [
+        "Ctrl+Shift+Up",
+        ""
+      ],
+      "vm_search_goto_next_method_or_class": [
+        "Ctrl+Shift+Down",
+        ""
+      ],
+      "vm_search_in_files": [
+        "Ctrl+Shift+F",
+        ""
+      ],
+      "vm_replace_in_files": [
+        "Ctrl+Shift+R",
+        ""
+      ],
+      "vm_search_in_open_files": [
+        "Ctrl+Alt+Shift+F",
+        ""
+      ],
+      "vm_replace_in_open_files": [
+        "Ctrl+Alt+Shift+R",
+        ""
+      ]
+    },
+    "View": {
+      "vm_view_zoom_in": [
+        "Ctrl++",
+        "Zoom In"
+      ],
+      "vm_view_zoom_out": [
+        "Ctrl+-",
+        "Zoom Out"
+      ],
+      "vm_view_zoom_reset": [
+        "Ctrl+0",
+        ""
+      ],
+      "vm_view_zoom": [
+        "Ctrl+#",
+        ""
+      ],
+      "vm_view_toggle_all_folds": [
+        "",
+        ""
+      ],
+      "vm_view_toggle_all_folds_children": [
+        "",
+        ""
+      ],
+      "vm_view_toggle_current_fold": [
+        "",
+        ""
+      ],
+      "vm_view_clear_all_folds": [
+        "",
+        ""
+      ],
+      "vm_view_unhighlight": [
+        "",
+        ""
+      ],
+      "vm_view_new_document_view": [
+        "",
+        ""
+      ],
+      "vm_view_new_document_split_view": [
+        "",
+        ""
+      ],
+      "vm_view_split_view": [
+        "",
+        ""
+      ],
+      "vm_view_arrange_horizontally": [
+        "",
+        ""
+      ],
+      "vm_view_remove_split": [
+        "",
+        ""
+      ],
+      "vm_next_split": [
+        "Ctrl+Alt+N",
+        ""
+      ],
+      "vm_previous_split": [
+        "",
+        ""
+      ],
+      "vm_preview": [
+        "",
+        ""
+      ],
+      "vm_python_ast_viewer": [
+        "",
+        ""
+      ],
+      "vm_python_dis_viewer": [
+        "",
+        ""
+      ]
+    },
+    "Macro": {
+      "vm_macro_start_recording": [
+        "",
+        ""
+      ],
+      "vm_macro_stop_recording": [
+        "",
+        ""
+      ],
+      "vm_macro_run": [
+        "",
+        ""
+      ],
+      "vm_macro_delete": [
+        "",
+        ""
+      ],
+      "vm_macro_load": [
+        "",
+        ""
+      ],
+      "vm_macro_save": [
+        "",
+        ""
+      ]
+    },
+    "Bookmarks": {
+      "vm_bookmark_toggle": [
+        "Ctrl+Alt+T",
+        ""
+      ],
+      "vm_bookmark_next": [
+        "Ctrl+PgDown",
+        "Ctrl+Shift+,"
+      ],
+      "vm_bookmark_previous": [
+        "Ctrl+PgUp",
+        ""
+      ],
+      "vm_bookmark_clear": [
+        "",
+        ""
+      ],
+      "vm_syntaxerror_goto": [
+        "",
+        ""
+      ],
+      "vm_syntaxerror_clear": [
+        "",
+        ""
+      ],
+      "vm_warning_next": [
+        "",
+        ""
+      ],
+      "vm_warning_previous": [
+        "",
+        ""
+      ],
+      "vm_warnings_clear": [
+        "",
+        ""
+      ],
+      "vm_uncovered_next": [
+        "",
+        ""
+      ],
+      "vm_uncovered_previous": [
+        "",
+        ""
+      ],
+      "vm_task_next": [
+        "",
+        ""
+      ],
+      "vm_task_previous": [
+        "",
+        ""
+      ],
+      "vm_change_next": [
+        "",
+        ""
+      ],
+      "vm_change_previous": [
+        "",
+        ""
+      ]
+    },
+    "Spelling": {
+      "vm_spelling_spellcheck": [
+        "Shift+F7",
+        ""
+      ],
+      "vm_spelling_autospellcheck": [
+        "",
+        ""
+      ]
+    },
+    "RefactoringRope": {
+      "refactoring_rename": [
+        "",
+        ""
+      ],
+      "refactoring_rename_local": [
+        "",
+        ""
+      ],
+      "refactoring_rename_module": [
+        "",
+        ""
+      ],
+      "refactoring_change_occurrences": [
+        "",
+        ""
+      ],
+      "refactoring_extract_method": [
+        "",
+        ""
+      ],
+      "refactoring_extract_variable": [
+        "",
+        ""
+      ],
+      "refactoring_inline": [
+        "",
+        ""
+      ],
+      "refactoring_move_method": [
+        "",
+        ""
+      ],
+      "refactoring_move_module": [
+        "",
+        ""
+      ],
+      "refactoring_use_function": [
+        "",
+        ""
+      ],
+      "refactoring_introduce_factory_method": [
+        "",
+        ""
+      ],
+      "refactoring_introduce_parameter_method": [
+        "",
+        ""
+      ],
+      "refactoring_organize_imports": [
+        "",
+        ""
+      ],
+      "refactoring_expand_star_imports": [
+        "",
+        ""
+      ],
+      "refactoring_relative_to_absolute_imports": [
+        "",
+        ""
+      ],
+      "refactoring_froms_to_imports": [
+        "",
+        ""
+      ],
+      "refactoring_restructure": [
+        "",
+        ""
+      ],
+      "refactoring_change_method_signature": [
+        "",
+        ""
+      ],
+      "refactoring_inline_argument_default": [
+        "",
+        ""
+      ],
+      "refactoring_transform_module_to_package": [
+        "",
+        ""
+      ],
+      "refactoring_encapsulate_attribute": [
+        "",
+        ""
+      ],
+      "refactoring_local_variable_to_attribute": [
+        "",
+        ""
+      ],
+      "refactoring_method_to_methodobject": [
+        "",
+        ""
+      ],
+      "refactoring_show_project_history": [
+        "",
+        ""
+      ],
+      "refactoring_show_file_history": [
+        "",
+        ""
+      ],
+      "refactoring_clear_history": [
+        "",
+        ""
+      ],
+      "refactoring_find_occurrences": [
+        "",
+        ""
+      ],
+      "refactoring_find_definition": [
+        "",
+        ""
+      ],
+      "refactoring_find_implementations": [
+        "",
+        ""
+      ],
+      "refactoring_edit_config": [
+        "",
+        ""
+      ],
+      "refactoring_help": [
+        "",
+        ""
+      ],
+      "refactoring_analyze_all": [
+        "",
+        ""
+      ],
+      "refactoring_update_configuration": [
+        "",
+        ""
+      ]
+    },
+    "Git": {
+      "git_new": [
+        "",
+        ""
+      ],
+      "git_fetch": [
+        "",
+        ""
+      ],
+      "git_pull": [
+        "",
+        ""
+      ],
+      "git_commit": [
+        "",
+        ""
+      ],
+      "git_push": [
+        "",
+        ""
+      ],
+      "git_export_repo": [
+        "",
+        ""
+      ],
+      "git_log_browser": [
+        "",
+        ""
+      ],
+      "git_reflog_browser": [
+        "",
+        ""
+      ],
+      "git_diff": [
+        "",
+        ""
+      ],
+      "git_extendeddiff": [
+        "",
+        ""
+      ],
+      "git_status": [
+        "",
+        ""
+      ],
+      "git_switch": [
+        "",
+        ""
+      ],
+      "git_tag": [
+        "",
+        ""
+      ],
+      "git_list_tags": [
+        "",
+        ""
+      ],
+      "git_describe_tag": [
+        "",
+        ""
+      ],
+      "git_list_branches": [
+        "",
+        ""
+      ],
+      "git_list_merged_branches": [
+        "",
+        ""
+      ],
+      "git_list_non_merged_branches": [
+        "",
+        ""
+      ],
+      "git_branch": [
+        "",
+        ""
+      ],
+      "git_delete_remote_branch": [
+        "",
+        ""
+      ],
+      "git_show_branch": [
+        "",
+        ""
+      ],
+      "git_revert": [
+        "",
+        ""
+      ],
+      "git_merge": [
+        "",
+        ""
+      ],
+      "git_cancel_merge": [
+        "",
+        ""
+      ],
+      "git_commit_merge": [
+        "",
+        ""
+      ],
+      "git_cleanup": [
+        "",
+        ""
+      ],
+      "git_command": [
+        "",
+        ""
+      ],
+      "git_configure": [
+        "",
+        ""
+      ],
+      "git_show_remotes": [
+        "",
+        ""
+      ],
+      "git_show_remote_info": [
+        "",
+        ""
+      ],
+      "git_add_remote": [
+        "",
+        ""
+      ],
+      "git_remove_remote": [
+        "",
+        ""
+      ],
+      "git_prune_remote": [
+        "",
+        ""
+      ],
+      "git_rename_remote": [
+        "",
+        ""
+      ],
+      "git_change_remote_url": [
+        "",
+        ""
+      ],
+      "git_remote_credentials": [
+        "",
+        ""
+      ],
+      "git_cherrypick": [
+        "",
+        ""
+      ],
+      "git_cherrypick_continue": [
+        "",
+        ""
+      ],
+      "git_cherrypick_quit": [
+        "",
+        ""
+      ],
+      "git_cherrypick_abort": [
+        "",
+        ""
+      ],
+      "git_stash": [
+        "",
+        ""
+      ],
+      "git_stash_browser": [
+        "",
+        ""
+      ],
+      "git_stash_show": [
+        "",
+        ""
+      ],
+      "git_stash_apply": [
+        "",
+        ""
+      ],
+      "git_stash_pop": [
+        "",
+        ""
+      ],
+      "git_stash_branch": [
+        "",
+        ""
+      ],
+      "git_stash_delete": [
+        "",
+        ""
+      ],
+      "git_stash_delete_all": [
+        "",
+        ""
+      ],
+      "git_user_configure": [
+        "",
+        ""
+      ],
+      "git_repo_configure": [
+        "",
+        ""
+      ],
+      "git_create_ignore": [
+        "",
+        ""
+      ],
+      "git_show_config": [
+        "",
+        ""
+      ],
+      "git_verify": [
+        "",
+        ""
+      ],
+      "git_housekeeping": [
+        "",
+        ""
+      ],
+      "git_statistics": [
+        "",
+        ""
+      ],
+      "git_create_archive": [
+        "",
+        ""
+      ],
+      "mercurial_bundle_create": [
+        "",
+        ""
+      ],
+      "mercurial_bundle_verify": [
+        "",
+        ""
+      ],
+      "mercurial_bundle_list_heads": [
+        "",
+        ""
+      ],
+      "mercurial_bundle_apply_fetch": [
+        "",
+        ""
+      ],
+      "mercurial_bundle_apply_pull": [
+        "",
+        ""
+      ],
+      "git_bisect_start": [
+        "",
+        ""
+      ],
+      "git_bisect_start_extended": [
+        "",
+        ""
+      ],
+      "git_bisect_good": [
+        "",
+        ""
+      ],
+      "git_bisect_bad": [
+        "",
+        ""
+      ],
+      "git_bisect_skip": [
+        "",
+        ""
+      ],
+      "git_bisect_reset": [
+        "",
+        ""
+      ],
+      "git_bisect_log_browser": [
+        "",
+        ""
+      ],
+      "git_bisect_create_replay": [
+        "",
+        ""
+      ],
+      "git_bisect_edit_replay": [
+        "",
+        ""
+      ],
+      "git_bisect_replay": [
+        "",
+        ""
+      ],
+      "git_check_patches": [
+        "",
+        ""
+      ],
+      "git_apply_patches": [
+        "",
+        ""
+      ],
+      "git_show_patches_statistics": [
+        "",
+        ""
+      ],
+      "git_submodule_add": [
+        "",
+        ""
+      ],
+      "git_submodules_list": [
+        "",
+        ""
+      ],
+      "git_submodules_init": [
+        "",
+        ""
+      ],
+      "git_submodules_deinit": [
+        "",
+        ""
+      ],
+      "git_submodules_update": [
+        "",
+        ""
+      ],
+      "git_submodules_update_init": [
+        "",
+        ""
+      ],
+      "git_submodules_update_remote": [
+        "",
+        ""
+      ],
+      "git_submodules_update_options": [
+        "",
+        ""
+      ],
+      "git_submodules_sync": [
+        "",
+        ""
+      ],
+      "git_submodules_status": [
+        "",
+        ""
+      ],
+      "git_submodules_summary": [
+        "",
+        ""
+      ]
+    },
+    "Mercurial": {
+      "mercurial_new": [
+        "",
+        ""
+      ],
+      "mercurial_incoming": [
+        "Meta+Alt+I",
+        ""
+      ],
+      "mercurial_pull": [
+        "Meta+Alt+P",
+        ""
+      ],
+      "mercurial_update": [
+        "Meta+Alt+U",
+        ""
+      ],
+      "mercurial_commit": [
+        "Meta+Alt+C",
+        ""
+      ],
+      "mercurial_outgoing": [
+        "Meta+Alt+O",
+        ""
+      ],
+      "mercurial_push": [
+        "Meta+Alt+H",
+        ""
+      ],
+      "mercurial_push_forced": [
+        "",
+        ""
+      ],
+      "mercurial_export_repo": [
+        "",
+        ""
+      ],
+      "mercurial_log_browser": [
+        "Meta+Alt+L",
+        ""
+      ],
+      "mercurial_diff": [
+        "Meta+Alt+D",
+        ""
+      ],
+      "mercurial_extendeddiff": [
+        "",
+        ""
+      ],
+      "mercurial_status": [
+        "Meta+Alt+S",
+        ""
+      ],
+      "mercurial_summary": [
+        "",
+        ""
+      ],
+      "mercurial_heads": [
+        "",
+        ""
+      ],
+      "mercurial_parents": [
+        "",
+        ""
+      ],
+      "mercurial_tip": [
+        "",
+        ""
+      ],
+      "mercurial_revert": [
+        "",
+        ""
+      ],
+      "mercurial_merge": [
+        "Meta+Alt+M",
+        ""
+      ],
+      "mercurial_commit_merge": [
+        "",
+        ""
+      ],
+      "mercurial_cancel_merge": [
+        "",
+        ""
+      ],
+      "mercurial_remerge": [
+        "",
+        ""
+      ],
+      "mercurial_show_conflicts": [
+        "",
+        ""
+      ],
+      "mercurial_resolve": [
+        "",
+        ""
+      ],
+      "mercurial_unresolve": [
+        "",
+        ""
+      ],
+      "mercurial_tag": [
+        "Meta+Alt+T",
+        ""
+      ],
+      "mercurial_list_tags": [
+        "",
+        ""
+      ],
+      "mercurial_list_branches": [
+        "",
+        ""
+      ],
+      "mercurial_branch": [
+        "",
+        ""
+      ],
+      "mercurial_push_branch": [
+        "",
+        ""
+      ],
+      "mercurial_close_branch": [
+        "",
+        ""
+      ],
+      "mercurial_show_branch": [
+        "",
+        ""
+      ],
+      "mercurial_switch": [
+        "",
+        ""
+      ],
+      "mercurial_cleanup": [
+        "",
+        ""
+      ],
+      "mercurial_command": [
+        "",
+        ""
+      ],
+      "mercurial_configure": [
+        "",
+        ""
+      ],
+      "mercurial_user_configure": [
+        "",
+        ""
+      ],
+      "mercurial_repo_configure": [
+        "",
+        ""
+      ],
+      "mercurial_show_config": [
+        "",
+        ""
+      ],
+      "mercurial_show_paths": [
+        "",
+        ""
+      ],
+      "mercurial_verify": [
+        "",
+        ""
+      ],
+      "mercurial_recover": [
+        "",
+        ""
+      ],
+      "mercurial_identify": [
+        "",
+        ""
+      ],
+      "mercurial_create ignore": [
+        "",
+        ""
+      ],
+      "mercurial_bundle": [
+        "",
+        ""
+      ],
+      "mercurial_preview_bundle": [
+        "",
+        ""
+      ],
+      "mercurial_unbundle": [
+        "",
+        ""
+      ],
+      "mercurial_bisect_good": [
+        "",
+        ""
+      ],
+      "mercurial_bisect_bad": [
+        "",
+        ""
+      ],
+      "mercurial_bisect_skip": [
+        "",
+        ""
+      ],
+      "mercurial_bisect_reset": [
+        "",
+        ""
+      ],
+      "mercurial_backout": [
+        "",
+        ""
+      ],
+      "mercurial_rollback": [
+        "",
+        ""
+      ],
+      "mercurial_serve": [
+        "",
+        ""
+      ],
+      "mercurial_import": [
+        "",
+        ""
+      ],
+      "mercurial_export": [
+        "",
+        ""
+      ],
+      "mercurial_change_phase": [
+        "",
+        ""
+      ],
+      "mercurial_graft": [
+        "Meta+Alt+G",
+        ""
+      ],
+      "mercurial_graft_continue": [
+        "",
+        ""
+      ],
+      "mercurial_graft_stop": [
+        "",
+        ""
+      ],
+      "mercurial_graft_abort": [
+        "",
+        ""
+      ],
+      "mercurial_add_subrepo": [
+        "",
+        ""
+      ],
+      "mercurial_remove_subrepos": [
+        "",
+        ""
+      ],
+      "mercurial_archive": [
+        "",
+        ""
+      ],
+      "mercurial_list_bookmarks": [
+        "",
+        ""
+      ],
+      "mercurial_define_bookmark": [
+        "",
+        ""
+      ],
+      "mercurial_delete_bookmark": [
+        "",
+        ""
+      ],
+      "mercurial_rename_bookmark": [
+        "",
+        ""
+      ],
+      "mercurial_move_bookmark": [
+        "",
+        ""
+      ],
+      "mercurial_incoming_bookmarks": [
+        "",
+        ""
+      ],
+      "mercurial_pull_bookmark": [
+        "",
+        ""
+      ],
+      "mercurial_outgoing_bookmarks": [
+        "",
+        ""
+      ],
+      "mercurial_push_bookmark": [
+        "",
+        ""
+      ],
+      "mercurial_push_current_bookmark": [
+        "",
+        ""
+      ],
+      "mercurial_delete_all_backups": [
+        "",
+        ""
+      ],
+      "mercurial_queues_init": [
+        "",
+        ""
+      ],
+      "mercurial_queues_commit": [
+        "",
+        ""
+      ],
+      "mercurial_queues_new": [
+        "",
+        ""
+      ],
+      "mercurial_queues_refresh": [
+        "",
+        ""
+      ],
+      "mercurial_queues_refresh_message": [
+        "",
+        ""
+      ],
+      "mercurial_queues_show": [
+        "",
+        ""
+      ],
+      "mercurial_queues_show_message": [
+        "",
+        ""
+      ],
+      "mercurial_queues_list": [
+        "",
+        ""
+      ],
+      "mercurial_queues_finish_applied": [
+        "",
+        ""
+      ],
+      "mercurial_queues_rename": [
+        "",
+        ""
+      ],
+      "mercurial_queues_delete": [
+        "",
+        ""
+      ],
+      "mercurial_queues_fold": [
+        "",
+        ""
+      ],
+      "mercurial_queues_status": [
+        "",
+        ""
+      ],
+      "mercurial_queues_summary": [
+        "",
+        ""
+      ],
+      "mercurial_queues_push_next": [
+        "",
+        ""
+      ],
+      "mercurial_queues_push_all": [
+        "",
+        ""
+      ],
+      "mercurial_queues_push_until": [
+        "",
+        ""
+      ],
+      "mercurial_queues_pop_current": [
+        "",
+        ""
+      ],
+      "mercurial_queues_pop_all": [
+        "",
+        ""
+      ],
+      "mercurial_queues_pop_until": [
+        "",
+        ""
+      ],
+      "mercurial_queues_goto": [
+        "",
+        ""
+      ],
+      "mercurial_queues_push_next_force": [
+        "",
+        ""
+      ],
+      "mercurial_queues_push_all_force": [
+        "",
+        ""
+      ],
+      "mercurial_queues_push_until_force": [
+        "",
+        ""
+      ],
+      "mercurial_queues_pop_current_force": [
+        "",
+        ""
+      ],
+      "mercurial_queues_pop_all_force": [
+        "",
+        ""
+      ],
+      "mercurial_queues_pop_until_force": [
+        "",
+        ""
+      ],
+      "mercurial_queues_goto_force": [
+        "",
+        ""
+      ],
+      "mercurial_queues_guards_define": [
+        "",
+        ""
+      ],
+      "mercurial_queues_guards_drop_all": [
+        "",
+        ""
+      ],
+      "mercurial_queues_guards_list": [
+        "",
+        ""
+      ],
+      "mercurial_queues_guards_list_all": [
+        "",
+        ""
+      ],
+      "mercurial_queues_guards_set_active": [
+        "",
+        ""
+      ],
+      "mercurial_queues_guards_deactivate": [
+        "",
+        ""
+      ],
+      "mercurial_queues_guards_identify_active": [
+        "",
+        ""
+      ],
+      "mercurial_queues_create_queue": [
+        "",
+        ""
+      ],
+      "mercurial_queues_rename_queue": [
+        "",
+        ""
+      ],
+      "mercurial_queues_delete_queue": [
+        "",
+        ""
+      ],
+      "mercurial_queues_purge_queue": [
+        "",
+        ""
+      ],
+      "mercurial_queues_activate_queue": [
+        "",
+        ""
+      ],
+      "mercurial_queues_list_queues": [
+        "",
+        ""
+      ],
+      "mercurial_purge": [
+        "",
+        ""
+      ],
+      "mercurial_purge_all": [
+        "",
+        ""
+      ],
+      "mercurial_purge_list": [
+        "",
+        ""
+      ],
+      "mercurial_purge_all_list": [
+        "",
+        ""
+      ],
+      "mercurial_gpg_list": [
+        "",
+        ""
+      ],
+      "mercurial_gpg_verify": [
+        "",
+        ""
+      ],
+      "mercurial_gpg_sign": [
+        "",
+        ""
+      ],
+      "mercurial_rebase": [
+        "",
+        ""
+      ],
+      "mercurial_rebase_continue": [
+        "",
+        ""
+      ],
+      "mercurial_rebase_abort": [
+        "",
+        ""
+      ],
+      "mercurial_shelve": [
+        "",
+        ""
+      ],
+      "mercurial_shelve_browser": [
+        "",
+        ""
+      ],
+      "mercurial_unshelve": [
+        "",
+        ""
+      ],
+      "mercurial_unshelve_abort": [
+        "",
+        ""
+      ],
+      "mercurial_unshelve_continue": [
+        "",
+        ""
+      ],
+      "mercurial_shelve_delete": [
+        "",
+        ""
+      ],
+      "mercurial_shelve_cleanup": [
+        "",
+        ""
+      ],
+      "mercurial_convert_to_largefiles": [
+        "",
+        ""
+      ],
+      "mercurial_convert_to_normal": [
+        "",
+        ""
+      ],
+      "mercurial_pull_largefiles": [
+        "",
+        ""
+      ],
+      "mercurial_summary_largefiles": [
+        "",
+        ""
+      ],
+      "mercurial_verify_large": [
+        "",
+        ""
+      ],
+      "mercurial_verify_lfa": [
+        "",
+        ""
+      ],
+      "mercurial_verify_lfc": [
+        "",
+        ""
+      ],
+      "mercurial_strip": [
+        "",
+        ""
+      ],
+      "mercurial_histedit_start": [
+        "",
+        ""
+      ],
+      "mercurial_histedit_continue": [
+        "",
+        ""
+      ],
+      "mercurial_histedit_abort": [
+        "",
+        ""
+      ],
+      "mercurial_histedit_edit_plan": [
+        "",
+        ""
+      ],
+      "mercurial_closehead": [
+        "",
+        ""
+      ]
+    },
+    "PySvn": {
+      "pysvn_new": [
+        "",
+        ""
+      ],
+      "pysvn_update": [
+        "Meta+Alt+U",
+        ""
+      ],
+      "pysvn_commit": [
+        "Meta+Alt+C",
+        ""
+      ],
+      "pysvn_log_browser": [
+        "Meta+Alt+L",
+        ""
+      ],
+      "pysvn_diff": [
+        "Meta+Alt+D",
+        ""
+      ],
+      "pysvn_extendeddiff": [
+        "",
+        ""
+      ],
+      "pysvn_urldiff": [
+        "",
+        ""
+      ],
+      "pysvn_status": [
+        "Meta+Alt+S",
+        ""
+      ],
+      "pysvn_changelists": [
+        "",
+        ""
+      ],
+      "pysvn_repoinfo": [
+        "",
+        ""
+      ],
+      "pysvn_tag": [
+        "",
+        ""
+      ],
+      "pysvn_export": [
+        "",
+        ""
+      ],
+      "pysvn_options": [
+        "",
+        ""
+      ],
+      "pysvn_revert": [
+        "",
+        ""
+      ],
+      "pysvn_merge": [
+        "Meta+Alt+M",
+        ""
+      ],
+      "pysvn_switch": [
+        "",
+        ""
+      ],
+      "pysvn_resolve": [
+        "",
+        ""
+      ],
+      "pysvn_cleanup": [
+        "",
+        ""
+      ],
+      "pysvn_command": [
+        "",
+        ""
+      ],
+      "pysvn_list_tags": [
+        "",
+        ""
+      ],
+      "pysvn_list_branches": [
+        "",
+        ""
+      ],
+      "pysvn_contents": [
+        "",
+        ""
+      ],
+      "pysvn_property_set": [
+        "",
+        ""
+      ],
+      "pysvn_property_list": [
+        "",
+        ""
+      ],
+      "pysvn_property_delete": [
+        "",
+        ""
+      ],
+      "pysvn_relocate": [
+        "",
+        ""
+      ],
+      "pysvn_repo_browser": [
+        "Meta+Alt+B",
+        ""
+      ],
+      "pysvn_configure": [
+        "",
+        ""
+      ],
+      "pysvn_upgrade": [
+        "",
+        ""
+      ]
+    },
+    "Subversion": {
+      "subversion_new": [
+        "",
+        ""
+      ],
+      "subversion_update": [
+        "Meta+Alt+U",
+        ""
+      ],
+      "subversion_commit": [
+        "Meta+Alt+C",
+        ""
+      ],
+      "subversion_log_browser": [
+        "Meta+Alt+L",
+        ""
+      ],
+      "subversion_diff": [
+        "Meta+Alt+D",
+        ""
+      ],
+      "subversion_extendeddiff": [
+        "",
+        ""
+      ],
+      "subversion_urldiff": [
+        "",
+        ""
+      ],
+      "subversion_status": [
+        "Meta+Alt+S",
+        ""
+      ],
+      "subversion_changelists": [
+        "",
+        ""
+      ],
+      "subversion_tag": [
+        "",
+        ""
+      ],
+      "subversion_export": [
+        "",
+        ""
+      ],
+      "subversion_options": [
+        "",
+        ""
+      ],
+      "subversion_revert": [
+        "",
+        ""
+      ],
+      "subversion_merge": [
+        "Meta+Alt+M",
+        ""
+      ],
+      "subversion_switch": [
+        "",
+        ""
+      ],
+      "subversion_resolve": [
+        "",
+        ""
+      ],
+      "subversion_cleanup": [
+        "",
+        ""
+      ],
+      "subversion_command": [
+        "",
+        ""
+      ],
+      "subversion_list_tags": [
+        "",
+        ""
+      ],
+      "subversion_list_branches": [
+        "",
+        ""
+      ],
+      "subversion_contents": [
+        "",
+        ""
+      ],
+      "subversion_property_set": [
+        "",
+        ""
+      ],
+      "subversion_property_list": [
+        "",
+        ""
+      ],
+      "subversion_property_delete": [
+        "",
+        ""
+      ],
+      "subversion_relocate": [
+        "",
+        ""
+      ],
+      "subversion_repo_browser": [
+        "Meta+Alt+B",
+        ""
+      ],
+      "subversion_configure": [
+        "",
+        ""
+      ],
+      "subversion_upgrade": [
+        "",
+        ""
+      ]
+    }
+  }
+}
\ No newline at end of file

eric ide

mercurial