From d3dfbdbbae4203f73d9db43621fd82514afa70b8 Mon Sep 17 00:00:00 2001 From: nightwing Date: Fri, 20 Feb 2015 13:25:17 +0400 Subject: [PATCH 1/2] fix +6287 Unable to switch to sublime keybindings --- package.json | 2 +- plugins/c9.ide.keys/commands.js | 4 ++-- plugins/c9.ide.keys/editor.js | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 563df54d..42a4336e 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "c9.ide.run.debug": "#8421e5e3a5", "c9.ide.ace.emmet": "#e5f1a92ac3", "c9.ide.ace.gotoline": "#4d1a93172c", - "c9.ide.ace.keymaps": "#1e42293fb9", + "c9.ide.ace.keymaps": "#2477fd8ac6", "c9.ide.ace.repl": "#ada99852fa", "c9.ide.ace.split": "#0ae0151c78", "c9.ide.ace.statusbar": "#d7b45bb7c3", diff --git a/plugins/c9.ide.keys/commands.js b/plugins/c9.ide.keys/commands.js index 2232c6ce..0815c7df 100644 --- a/plugins/c9.ide.keys/commands.js +++ b/plugins/c9.ide.keys/commands.js @@ -288,12 +288,12 @@ define(function(require, exports, module) { return commands; } - function reset(noReload){ + function reset(noReload, toDefault){ commandManager.commandKeyBinding = {}; Object.keys(commands).forEach(function(name) { var cmd = commands[name]; - bindKey(cmd.originalBindKey, cmd); + bindKey(toDefault ? cmd.originalBindKey : cmd.bindKey, cmd); }); if (noReload) diff --git a/plugins/c9.ide.keys/editor.js b/plugins/c9.ide.keys/editor.js index 7a2f5118..e6c90708 100644 --- a/plugins/c9.ide.keys/editor.js +++ b/plugins/c9.ide.keys/editor.js @@ -173,9 +173,10 @@ define(function(require, exports, module) { "By resetting your keybindings to their " + "defaults you will lose all custom keybindings.", function(){ + settings.setJson("user/key-bindings", []); settings.set("user/ace/@keyboardmode", "default"); settings.set("user/key-bindings/@platform", "auto"); - reset(); + commands.reset(false, true); }, function(){}); }, position: 90 From e704fb6a364bc1141eae414979cf7e9decfd71d5 Mon Sep 17 00:00:00 2001 From: nightwing Date: Fri, 20 Feb 2015 14:49:50 +0400 Subject: [PATCH 2/2] fix +6291 Hard to tell what pane has focus in Vim mode --- node_modules/ace/lib/ace/keyboard/vim.js | 39 ++++++++---------------- 1 file changed, 13 insertions(+), 26 deletions(-) diff --git a/node_modules/ace/lib/ace/keyboard/vim.js b/node_modules/ace/lib/ace/keyboard/vim.js index d3066bf1..e775b1eb 100644 --- a/node_modules/ace/lib/ace/keyboard/vim.js +++ b/node_modules/ace/lib/ace/keyboard/vim.js @@ -733,10 +733,14 @@ CodeMirror.defineExtension = function(name, fn) { CodeMirror.prototype[name] = fn; }; dom.importCssString(".normal-mode .ace_cursor{\ - border: 0!important;\ + border: 1px solid red;\ background-color: red;\ opacity: 0.5;\ -}.ace_dialog {\ +}\ +.normal-mode .ace_hidden-cursors .ace_cursor{\ + background-color: transparent;\ +}\ +.ace_dialog {\ position: absolute;\ left: 0; right: 0;\ background: white;\ @@ -762,23 +766,6 @@ dom.importCssString(".normal-mode .ace_cursor{\ font-family: monospace;\ }", "vimMode"); (function() { - function dialogDiv(cm, template, bottom) { - var wrap = cm.ace.container; - var dialog; - dialog = wrap.appendChild(document.createElement("div")); - if (bottom) - dialog.className = "ace_dialog ace_dialog-bottom"; - else - dialog.className = "ace_dialog ace_dialog-top"; - - if (typeof template == "string") { - dialog.innerHTML = template; - } else { // Assuming it's a detached DOM element. - dialog.appendChild(template); - } - return dialog; - } - function closeNotification(cm, newVal) { if (cm.state.currentNotificationClose) cm.state.currentNotificationClose(); @@ -5814,7 +5801,7 @@ dom.importCssString(".normal-mode .ace_cursor{\ }, true); } return isHandled; - }; + } exports.CodeMirror = CodeMirror; var getVim = Vim.maybeInitVimState_; exports.handler = { @@ -5828,9 +5815,9 @@ dom.importCssString(".normal-mode .ace_cursor{\ if (!vim.insertMode) { var isbackwards = !sel.cursor ? session.selection.isBackwards() || session.selection.isEmpty() - : Range.comparePoints(sel.cursor, sel.start) <= 0 + : Range.comparePoints(sel.cursor, sel.start) <= 0; if (!isbackwards && left > w) - left -= w + left -= w; } if (!vim.insertMode && vim.status) { h = h / 2; @@ -5991,16 +5978,16 @@ dom.importCssString(".normal-mode .ace_cursor{\ } } } - } + }; var renderVirtualNumbers = { getText: function(session, row) { - return (Math.abs(session.selection.lead.row - row) || (row + 1 + (row < 9? "\xb7" : "" ))) + "" + return (Math.abs(session.selection.lead.row - row) || (row + 1 + (row < 9? "\xb7" : "" ))) + ""; }, getWidth: function(session, lastLineNumber, config) { return session.getLength().toString().length * config.characterWidth; }, update: function(e, editor) { - editor.renderer.$loop.schedule(editor.renderer.CHANGE_GUTTER) + editor.renderer.$loop.schedule(editor.renderer.CHANGE_GUTTER); }, attach: function(editor) { editor.renderer.$gutterLayer.$renderer = this; @@ -6042,7 +6029,7 @@ dom.importCssString(".normal-mode .ace_cursor{\ if (cm.ace.inVirtualSelectionMode) cm.ace.on("beforeEndOperation", delayedExecAceCommand); else - delayedExecAceCommand(null, cm.ace) + delayedExecAceCommand(null, cm.ace); }; function delayedExecAceCommand(op, ace) { ace.off("beforeEndOperation", delayedExecAceCommand);