1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-20 09:48:00 +01:00

Restore some of Doug's vim-compatible :source error messages. Also, don't crap out so easily on errors.

This commit is contained in:
Kris Maglione
2010-09-25 08:58:37 -04:00
parent d049c7f4a1
commit 03aceeb7af
3 changed files with 15 additions and 12 deletions

View File

@@ -141,6 +141,11 @@ const Command = Class("Command", {
let self = this;
modifiers = modifiers || {};
if (args.count != null && !this.count)
throw FailedAssertion("E481: No range allowed");
if (args.bang && !this.bang)
throw FailedAssertion("E477: No ! allowed");
dactyl.trapErrors(function exec(command) {
this.action(args, modifiers);
}, this);

View File

@@ -393,18 +393,9 @@ const Dactyl = Module("dactyl", {
let err = null;
for (let [command, args] in commands.parseCommands(str.replace(/^'(.*)'$/, "$1"))) {
if (command === null) {
err = "E492: Not a " + config.name + " command: " + str;
dactyl.focusContent();
}
else if (command.action === null)
err = "E666: Internal error: command.action === null"; // TODO: need to perform this test? -- djk
else if (args.count != null && !command.count)
err = "E481: No range allowed";
else if (args.bang && !command.bang)
err = "E477: No ! allowed";
if (command === null)
throw FailedAssertion("E492: Not a " + config.appName + " command: " + str);
dactyl.assert(!err, err);
if (!silent)
commandline.command = str.replace(/^\s*:\s*/, "");

View File

@@ -386,7 +386,14 @@ lookup:
line = line.replace(/\r$/, "");
if (!/^\s*(".*)?$/.test(line))
dactyl.execute(line, { setFrom: file }, true);
try {
dactyl.execute(line, { setFrom: file }, true);
}
catch (e) {
dactyl.echoerr("Error detected while processing " + file.path);
dactyl.echomsg("line\t" + this.sourcing.line + ":");
dactyl.reportError(e, true);
}
}
}