-
-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
hung when I use denops.dispatch("", "")
#415
Comments
Actually, it's spec. denops.vim/denops/@denops-private/denops.ts Lines 80 to 88 in f32f028
However, I think there are several unwilling behaviors
I'll consider aboves |
I found this behavior when I'm setting the denops plugin that contains So I want to know the plugin name feedback |
wait really? ↓ |
*g:denops#server#wait_timeout*
Timeout in milliseconds for |denops#server#wait()|.
Default: 30000
*denops#server#wait()*
denops#server#wait([{options}])
Waits synchronously until a |DenopsReady| autocmd is fired. It returns
immediately when the autocmd is already fired.
It returns -1 if it times out, -2 if the server is not started or
interrupted.
Developers need to consider this return value to decide whether to
continue with the subsequent process.
The following attributes are available on {options}.
"interval" Interval in milliseconds for |:sleep| in internal
loop.
Default: |g:denops#server#wait_interval|
"timeout" Timeout in milliseconds to block.
Default: |g:denops#server#wait_timeout|
"silent" 1 to silence error messages.
Default: 0
*g:denops#plugin#wait_timeout*
Timeout in milliseconds for |denops#plugin#wait()|.
Default: 30000
*denops#plugin#wait()*
denops#plugin#wait({name}[, {options}])
Waits synchronously until a {name} plugin is loaded or failed to load.
It returns immediately when the {name} plugin is already loaded. It
throws an error when {name} does not match the |denops-plugin-name|.
Developers need to consider the following return value to decide
whether to continue with the subsequent process:
0 The {name} plugin is loaded successfully.
-1 "timeout" expired.
-2 The server is not yet ready or interrupted.
-3 The {name} plugin failed to load.
The following attributes are available on {options}.
"interval" Interval in milliseconds for |:sleep| in internal
loop.
Default: |g:denops#plugin#wait_interval|
"timeout" Timeout in milliseconds to block.
Default: |g:denops#plugin#wait_timeout|
"silent" 1 to silence error messages.
Default: 0 |
|
Describe the bug
hung when I fire
:call denops#request("hoge", "hung_dispatch")
that denops plugin's dispatchProvide a minimal vimrc with less than 50 lines to reproduce
denops plugin which has
denops.dispatch("", "")
to reproduce this behavior you have to make simple denops plugin.
make directory like bellow.
main.ts
.vimrc
How to reproduce the problem from Vim startup
:call denops#request("test", "dispatch_none", [])
Expected behavior
denops return something like error, and I can operate vim after firing dispatch.
Actual behavior
after firing the dispatch I can't operate vim ( hung ).
Screenshots (if need)
Your environment
OS:
uname -a
(macOS/Linux) orver
(Windows)Linux DESKTOP 5.15.90.1-microsoft-standard-WSL2+ #2 SMP Thu Aug 31 01:45:54 JST 2023 x86_64 x86_64 x86_64 GNU/Linux
Deno version:
deno --version
deno 1.46.1 (stable, release, x86_64-unknown-linux-gnu)
v8 12.9.202.2-rusty
typescript 5.5.2
Vim/Neovim version:
vim --version
ornvim --version
NVIM v0.11.0-dev-408+gb1aa8f5eb
Build type: RelWithDebInfo
LuaJIT 2.1.1720049189
Denops version:
git log -1
(run in the denops.vim repository)commit f32f028 (HEAD -> main, origin/main, origin/HEAD)
Merge: 45b8a1c 604b394
Author: Λlisue
Date: Fri Aug 30 08:16:33 2024 +0900
Merge pull request 👍 no package json #414 from vim-denops/no-package-json
👍 no package json
Additional context
The text was updated successfully, but these errors were encountered: