Skip to content

Commit

Permalink
use echoerr to handle internal error
Browse files Browse the repository at this point in the history
  • Loading branch information
uga-rosa committed Jun 23, 2024
1 parent 808e944 commit 6408db4
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions denops/denippet/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,11 @@ export function main(denops: Denops): void {
u.ensure(bodyU, is.UnionOf([is.String, is.ArrayOf(is.String)])),
);
const prefix = u.ensure(prefixU, is.OptionalOf(is.String));
if (await session.expand(body, prefix)) {
const hasJumpableNodes = await session.expand(body, prefix).catch((e) => {
echoerr(denops, e);
return false;
});
if (hasJumpableNodes) {
const syncDelay = Number(await g.get(denops, "denippet_sync_delay"));

await au.group(denops, "denippet-session", (helper) => {
Expand Down Expand Up @@ -184,7 +188,9 @@ export function main(denops: Denops): void {
await forceUpdate(session.snippet.currentNode().tabstop);
}
session.guard();
await session.jump(dir);
await session.jump(dir).catch((e) => {
echoerr(denops, e);
});
session.unguard();
if (
session.snippet?.currentNode().tabstop === 0 &&
Expand Down Expand Up @@ -234,12 +240,14 @@ export function main(denops: Denops): void {
const id = u.ensure(idU, is.String);
const { body, matched } = await searchSnippet(loader, id);
if (body == null) {
throw new Error(`Unknown snippet id: ${id}`);
echoerr(denops, `Unknown snippet id: ${id}`);
return "";
}
const bodyStr = is.String(body) ? body : await body(denops, matched);
const parsedBody = lsputil.parseSnippet(bodyStr);
if (parsedBody === "") {
throw new Error(`Failed parsing: ${bodyStr}`);
echoerr(denops, `Failed parsing: ${bodyStr}`);
return "";
}
return parsedBody;
},
Expand Down

0 comments on commit 6408db4

Please sign in to comment.