Skip to content

Commit aaeac55

Browse files
committed
🐛 Fix undefined variable 'message' on Vim
1 parent 3210bf3 commit aaeac55

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

denops_std/helper/echo.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Denops } from "../deps.ts";
22
import { batch } from "../batch/mod.ts";
3+
import { load } from "./load.ts";
34

45
/**
56
* Echo message as like `echo` on Vim script.
@@ -16,10 +17,7 @@ export function echo(denops: Denops, message: string): Promise<void> {
1617
if (denops.meta.mode === "test") {
1718
return Promise.resolve();
1819
} else if (denops.meta.host === "vim") {
19-
return denops.cmd(
20-
"call timer_start(0, { -> execute('redraw | echo message', '') })",
21-
{ message },
22-
);
20+
return echoVim(denops, message);
2321
} else {
2422
return denops.cmd("redraw | echo message", { message });
2523
}
@@ -62,3 +60,8 @@ export async function friendlyCall(
6260
}
6361
}
6462
}
63+
64+
async function echoVim(denops: Denops, message: string): Promise<void> {
65+
await load(denops, new URL("./echo.vim", import.meta.url));
66+
await denops.call("DenopsStdHelperEcho", message);
67+
}

denops_std/helper/echo.vim

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
if exists('g:loaded_denops_std_helper_echo')
2+
finish
3+
endif
4+
let g:loaded_denops_std_helper_echo = 1
5+
6+
function! DenopsStdHelperEcho(message) abort
7+
call timer_start(0, { -> s:echo(a:message) })
8+
endfunction
9+
10+
function! s:echo(message) abort
11+
redraw | echo a:message
12+
endfunction

0 commit comments

Comments
 (0)