diff --git a/web/pgadmin/browser/templates/browser/js/browser.js b/web/pgadmin/browser/templates/browser/js/browser.js index 95528b0..5b7e626 100644 --- a/web/pgadmin/browser/templates/browser/js/browser.js +++ b/web/pgadmin/browser/templates/browser/js/browser.js @@ -320,7 +320,8 @@ function(require, $, _, S, Bootstrap, pgAdmin, alertify, CodeMirror) { lineNumbers: true, lineWrapping: true, mode: "text/x-pgsql", - readOnly: true + readOnly: true, + extraKeys: pgAdmin.Browser.editor_shortcut_keys }); setTimeout(function() { @@ -708,6 +709,31 @@ function(require, $, _, S, Bootstrap, pgAdmin, alertify, CodeMirror) { }); return preference; + }, + + editor_shortcut_keys: { + // Autocomplete sql command + "Ctrl-Space": "autocomplete", + "Cmd-Space": "autocomplete", + // Select All text + "Ctrl-A": "selectAll", + "Cmd-A": "selectAll", + // Redo text + "Ctrl-Y": "redo", + "Cmd-Y": "redo", + // Undo text + "Ctrl-Z": "undo", + "Cmd-Z": "undo", + // Delete Line + "Ctrl-D": "deleteLine", + "Cmd-D": "deleteLine", + // Go to beginning of line + "Cmd-Left": "goLineStart", + // Go to end of Line + "Cmd-Right": "goLineEnd", + // Move word by word left/right + "Alt-Left": "goGroupLeft", + "Alt-Right": "goGroupRight" } }); diff --git a/web/pgadmin/static/js/backform.pgadmin.js b/web/pgadmin/static/js/backform.pgadmin.js index bc7d434..a741ade 100644 --- a/web/pgadmin/static/js/backform.pgadmin.js +++ b/web/pgadmin/static/js/backform.pgadmin.js @@ -1392,7 +1392,8 @@ lineNumbers: true, lineWrapping: true, mode: "text/x-pgsql", - readOnly: true + readOnly: true, + extraKeys: pgAdmin.Browser.editor_shortcut_keys }); return this; @@ -2118,7 +2119,8 @@ (self.$el.find("textarea")[0]), { lineNumbers: true, mode: "text/x-sql", - readOnly: isDisabled + readOnly: isDisabled, + extraKeys: pgAdmin.Browser.editor_shortcut_keys }); if (!isVisible) diff --git a/web/pgadmin/tools/datagrid/templates/datagrid/js/datagrid.js b/web/pgadmin/tools/datagrid/templates/datagrid/js/datagrid.js index 1cb9c1e..7e8901c 100644 --- a/web/pgadmin/tools/datagrid/templates/datagrid/js/datagrid.js +++ b/web/pgadmin/tools/datagrid/templates/datagrid/js/datagrid.js @@ -243,7 +243,8 @@ define( lineWrapping: true, matchBrackets: true, indentUnit: 4, - mode: "text/x-pgsql" + mode: "text/x-pgsql", + extraKeys: pgBrowser.editor_shortcut_keys }); }, diff --git a/web/pgadmin/tools/debugger/templates/debugger/js/direct.js b/web/pgadmin/tools/debugger/templates/debugger/js/direct.js index 60a6710..676bff4 100644 --- a/web/pgadmin/tools/debugger/templates/debugger/js/direct.js +++ b/web/pgadmin/tools/debugger/templates/debugger/js/direct.js @@ -1422,7 +1422,8 @@ define( }, gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter", "breakpoints"], mode: "text/x-pgsql", - readOnly: true + readOnly: true, + extraKeys: pgAdmin.Browser.editor_shortcut_keys }); // On loading the docker, register the callbacks diff --git a/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js b/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js index 2be2b49..41d8661 100644 --- a/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js +++ b/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js @@ -206,7 +206,8 @@ define( rangeFinder: CodeMirror.fold.combine(CodeMirror.pgadminBeginRangeFinder, CodeMirror.pgadminIfRangeFinder, CodeMirror.pgadminLoopRangeFinder, CodeMirror.pgadminCaseRangeFinder) }, - gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"] + gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"], + extraKeys: pgBrowser.editor_shortcut_keys }); // Create main wcDocker instance @@ -248,7 +249,7 @@ define( CodeMirror.pgadminLoopRangeFinder, CodeMirror.pgadminCaseRangeFinder) }, gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"], - extraKeys: {"Ctrl-Space": "autocomplete"} + extraKeys: pgBrowser.editor_shortcut_keys }); // Create panels for 'Data Output', 'Explain', 'Messages' and 'History'