Skip to content
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

Support wasi-cli (stdin, stdout) #6501

Open
Timmmm opened this issue Apr 20, 2024 · 1 comment
Open

Support wasi-cli (stdin, stdout) #6501

Timmmm opened this issue Apr 20, 2024 · 1 comment
Labels
A-tokio Area: The main tokio crate C-feature-request Category: A feature request. M-io Module: tokio/io T-wasm Topic: Web Assembly

Comments

@Timmmm
Copy link

Timmmm commented Apr 20, 2024

Currently you can't use Tokio's stdin/stdout support (the io-std feature flag) on WASI. But WASI does support that in wasi-cli. I believe it is supported by Node now.

This would be immensely useful for distributing Rust LSP servers as WASI modules, so I don't have to cross compile for at least 4 targets. The best Rust LSP crate I've found is tower-lsp which uses Tokio, but the easiest way to communicate with the language server client (i.e. VSCode) is over stdin/stdout.

See also #4827

@Timmmm Timmmm added A-tokio Area: The main tokio crate C-feature-request Category: A feature request. labels Apr 20, 2024
@Darksonn Darksonn added M-io Module: tokio/io T-wasm Topic: Web Assembly labels Apr 20, 2024
@banocean
Copy link

I believe it's case with all (or most) apis that requires syscalls. Since WASI 0.2 was stabilized the only thing holding this up is ability to access it in rust.

It's still possible to use api bindings not build into std lib, but it would require a lot of work that would be useless after it's implemented into std lib.

Creating issues for nearly every feature flag is kinda making a bigger mess when it's all based on the fact can it work with same apis as other targets.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-tokio Area: The main tokio crate C-feature-request Category: A feature request. M-io Module: tokio/io T-wasm Topic: Web Assembly
Projects
None yet
Development

No branches or pull requests

3 participants