1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-22 00:37:58 +01:00

Block invalid keys in VISUAL TEXT EDIT mode and add v_x mapping. Closes issue #182.

This commit is contained in:
Kris Maglione
2010-12-13 05:11:47 -05:00
parent 561b6e8e3b
commit 50e47b9b2f
4 changed files with 8 additions and 12 deletions

View File

@@ -678,11 +678,10 @@ const Editor = Module("editor", {
});
mappings.add([modes.VISUAL],
["d"], "Delete selected text",
["d", "x"], "Delete selected text",
function () {
dactyl.assert(editor.isTextEdit);
editor.executeCommand("cmd_cut");
modes.pop();
});
mappings.add([modes.VISUAL],

View File

@@ -969,7 +969,7 @@ const Events = Module("events", {
this._input.motionCount = null;
if (!isEscape(key)) {
stop = (mode.main == modes.TEXT_EDIT);
stop = (mode.main & (modes.TEXT_EDIT | modes.VISUAL));
if (stop)
dactyl.beep();

View File

@@ -373,21 +373,17 @@ const Mappings = Module("mappings", {
Command.bindMacro(args, "-keys", ["count"]),
{
count: args["-count"],
noremap: "-builtin" in args,
noremap: args["-builtin"],
persist: !args["-nopersist"],
get rhs() String(this.action),
silent: "-silent" in args
silent: args["-silent"]
});
}
}
modeDescription = modeDescription ? " in " + modeDescription + " mode" : "";
function findMode(name) {
if (isinstance(name, Number))
return name;
for (let mode in modes.mainModes)
if (name == mode.char || name == mode.name.toLowerCase())
if (name == mode || name == mode.char || String.toLowerCase(name).replace(/-/g, "_") == mode.name.toLowerCase())
return mode.mask;
return null;
}
@@ -439,7 +435,7 @@ const Mappings = Module("mappings", {
description: "Create this mapping in the given modes",
default: mapmodes || ["n", "v"],
validator: function (list) !list || list.every(findMode),
completer: function () [[array.compact([mode.name.toLowerCase(), mode.char]), mode.disp]
completer: function () [[array.compact([mode.name.toLowerCase().replace(/_/g, "-"), mode.char]), mode.disp]
for (mode in modes.mainModes)],
},
{
@@ -478,6 +474,7 @@ const Mappings = Module("mappings", {
yield map;
}
modeDescription = modeDescription ? " in " + modeDescription + " mode" : "";
commands.add([ch ? ch + "m[ap]" : "map"],
"Map a key sequence" + modeDescription,
function (args) { map(args, false); },

View File

@@ -154,7 +154,7 @@ const Modes = Module("modes", {
disp: disp,
extended: extended,
input: false,
mask: this[name],
mask: mode,
name: name,
params: params || {}
}, options);