15 Commits
Author SHA1 Message Date
rawan10101 b78adb98ba fix(wasm): remove custom log path and disable autoread 2026-08-13 15:52:30 +03:00
rawan10101 0eddc16ed0 ci: add nvim.wasm build and nightly release
Add a dedicated nvim.wasm build workflow and
include the resulting WASM artifact in nightly releases.
2026-08-13 15:23:48 +03:00
rawan10101 014b00a642 fix(wasm): fix browser input and runtime exit handling
Use ev.key directly to preserve Caps Lock casing, implement clipboard
paste, and prevent :q/:qa from leaving the runtime in a loop.
2026-08-11 14:08:40 +03:00
rawan10101 5079787993 docs: mention wasm32-emscripten build target in news.txt 2026-08-03 15:40:16 +03:00
rawan10101 17d1ed53ff feat(wasm): implement initial web demo
Introduce an initial browser-based Neovim demo with automatic startup and UI integration. The demo is functional but still requires persistence, additional testing, and further stabilization.

Acknowledgment: UiState in app.js is based on the implementation from github.com/MuNeNiCK/nvim-wasm, with additional modifications and updates
2026-08-02 22:15:30 +03:00
rawan10101 e0dd164fb4 build(wasm): update wasm_stubs with browser libuv polling support
Replace the placeholder polling implementation with a browser-backed libuv polling backend and add the required platform compatibility stubs for the WebAssembly build.
2026-07-27 02:42:41 +03:00
rawan10101 5ca90d1185 build(wasm): use pthreads and correct uv_fs_write offset handling 2026-07-26 03:52:38 +03:00
rawan10101 2b412f098e feat: initial WASM RPC implementation (RPC handshake incomplete) 2026-07-21 02:02:26 +03:00
rawan10101 9cabba671d feat(wasm-emcc): add browser support for Neovim 2026-07-16 21:20:25 +03:00
rawan10101 fde6f72f74 build(wasm): bundle runtime files into MEMFS 2026-07-12 14:51:41 +03:00
rawan10101 be1b5bdfca build(deps): bump libuv to c1ccce24e1 and zlua to 2f0f668a9a 2026-06-30 14:50:32 +03:00
rawan10101 7cbea86f49 build(wasm): add smoke test 2026-06-30 14:50:32 +03:00
rawan10101 4932862d9a build(wasm): add wasm_stubs for Emscripten build 2026-06-30 14:44:12 +03:00
Rawan10101 9497a30cc6 fix: setjmp/longjmp and stack overflow handling for WASM build 2026-06-30 14:44:12 +03:00
Rawan10101 674f3ab4d6 build: add wasm/emscripten build support
- Add is_wasm detection for wasm32-emscripten target
- Add -Demscripten-sysroot option and libc path setup
- Default cross_compiling=true for wasm
- Use lua5.1 instead of luajit for wasm (luajit unsupported)
- Add emscripten include paths to all dependencies
- Build nvim as static library for wasm target
- Add emcc link step with Asyncify and SUPPORT_LONGJMP
- Filter wasm_stubs.c from non-wasm builds

Known limitation: setjmp/longjmp not yet fully functional
due to Zig compiling dependencies outside emcc pipeline.

build: fix wasm emscripten output path tracking
2026-06-01 16:10:27 +03:00