1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-01-05 03:04:11 +01:00

Replace :abc, :comc, :mapc with :unab!, :delc!, :unmap!. Add bang to :styt, :delsty, ...

This commit is contained in:
Kris Maglione
2011-02-11 16:06:19 -05:00
parent 35c70faa26
commit 7ca9b9cfea
4 changed files with 41 additions and 67 deletions

View File

@@ -296,25 +296,19 @@ var Abbreviations = Module("abbreviations", {
commands.add([ch + "una[bbreviate]"],
"Remove an abbreviation" + modeDescription,
function (args) {
let lhs = args.literalArg;
if (!lhs)
return dactyl.echoerr("E474: Invalid argument");
if (!args["-group"].remove(modes, lhs))
util.assert(args.bang ^ !!args[0], "Argument or ! required");
if (args.bang)
args["-group"].clear(modes);
else if (!args["-group"].remove(modes, lhs))
return dactyl.echoerr("E24: No such abbreviation");
}, {
argCount: "1",
argCount: "?",
bang: true,
completer: function (context) completion.abbreviation(context, modes, args["-group"]),
literal: 0,
options: [contexts.GroupFlag("abbrevs")]
});
commands.add([ch + "abc[lear]"],
"Remove all abbreviations" + modeDescription,
function (args) { args["-group"].clear(modes); },
{
argCount: "0",
options: [contexts.GroupFlag("abbrevs")]
});
}
addAbbreviationCommands([modes.INSERT, modes.COMMAND_LINE], "", "");

View File

@@ -575,50 +575,31 @@ var Mappings = Module("mappings", {
function (args) { map(args, true); },
opts);
commands.add([ch + "mapc[lear]"],
"Remove all mappings" + modeDescription,
function (args) {
util.assert(args["-group"].modifiable,
"Cannot change mappings in the builtin group");
let mapmodes = array.uniq(args["-modes"].map(findMode));
mapmodes.forEach(function (mode) {
args["-group"].clear(mode);
});
},
{
argCount: "0",
options: [
contexts.GroupFlag("mappings"),
update({}, modeFlag, {
names: ["-modes", "-mode", "-m"],
type: CommandOption.LIST,
description: "Remove all mappings from the given modes",
default: mapmodes || ["n", "v"]
})
]
});
commands.add([ch + "unm[ap]"],
"Remove a mapping" + modeDescription,
function (args) {
util.assert(args["-group"].modifiable,
"Cannot change mappings in the builtin group");
util.assert(args.bang ^ !!args[0], "Argument or ! required");
let mapmodes = array.uniq(args["-modes"].map(findMode));
let found = false;
for (let [, mode] in Iterator(mapmodes)) {
if (args["-group"].has(mode, args[0])) {
let found = 0;
for (let mode in values(mapmodes))
if (args.bang)
args["-group"].clear(mode);
else if (args["-group"].has(mode, args[0])) {
args["-group"].remove(mode, args[0]);
found = true;
found++;
}
}
if (!found)
if (!found && !args.bang)
dactyl.echoerr("E31: No such mapping");
},
{
argCount: "1",
argCount: "?",
bang: true,
completer: opts.completer,
options: [
contexts.GroupFlag("mappings"),

View File

@@ -622,6 +622,7 @@ var Commands = Module("commands", {
* Displays a list of user-defined commands.
*/
list: function list() {
const { commandline, completion } = this.modules;
function completerToString(completer) {
if (completer)
return [k for ([k, v] in Iterator(config.completers)) if (completer == completion.closure[v])][0] || "custom";
@@ -631,7 +632,7 @@ var Commands = Module("commands", {
if (!this.userHives.some(function (h) h._list.length))
dactyl.echomsg("No user-defined commands found");
else
modules.commandline.commandOutput(
commandline.commandOutput(
<table>
<tr highlight="Title">
<td/>
@@ -1487,13 +1488,22 @@ var Commands = Module("commands", {
.flatten().array
});
commands.add(["comc[lear]"],
"Delete all user-defined commands",
commands.add(["delc[ommand]"],
"Delete the specified user-defined command",
function (args) {
args["-group"].clear();
},
{
argCount: "0",
util.assert(args.bang ^ !!args[0], "Argument or ! required");
let name = args[0];
if (args.bang)
args["-group"].clear();
else if (args["-group"].get(name))
args["-group"].remove(name);
else
dactyl.echoerr("E184: No such user-defined command: " + name);
}, {
argCount: "?",
bang: true,
completer: function (context, args) modules.completion.userCommand(context, args["-group"]),
options: [contexts.GroupFlag("commands")]
});
@@ -1506,21 +1516,6 @@ var Commands = Module("commands", {
literal: 0
});
commands.add(["delc[ommand]"],
"Delete the specified user-defined command",
function (args) {
let name = args[0];
if (args["-group"].get(name))
args["-group"].remove(name);
else
dactyl.echoerr("E184: No such user-defined command: " + name);
}, {
argCount: "1",
completer: function (context, args) modules.completion.userCommand(context, args["-group"]),
options: [contexts.GroupFlag("commands")]
});
dactyl.addUsageCommand({
name: ["listc[ommands]", "lc"],
description: "List all Ex commands along with their short descriptions",

View File

@@ -636,14 +636,18 @@ var Styles = Module("Styles", {
{
name: ["dels[tyle]"],
desc: "Remove a user style sheet",
action: function (sheet) sheet.remove()
action: function (sheet) sheet.remove(),
}
].forEach(function (cmd) {
commands.add(cmd.name, cmd.desc,
function (args) {
dactyl.assert(args.bang ^ !!(args[0] || args[1] || args["-name"] || args["-index"]),
"Argument or ! required");
args["-group"].find(args["-name"], args[0], args.literalArg, args["-index"])
.forEach(cmd.action);
}, {
bang: true,
completer: function (context, args) {
let uris = util.visibleURIs(window.content);