The library is split in two components
- web/em_vim.js and either web/vim_loader.js or web/vim_ww_loader.js for the backend
- web/vim_canvas_ui.js for the frontend
See web/vim.html for an example
see TODO for planned changes
To modify the native code and core library you will need:
- emscripten (working with 1.36.0), cproto, likely others
- to clone coolwangu's port of vim to native/clean-vim.js
- to apply native/main.patch to native/clean-vim.js/src/main.c
- you may need to comment out lines in src/os_web.c relating to
<sys/acl.h>
-# ifdef HAVE_SYS_ACL_H
-# include <sys/acl.h>
-# endif
- read native/config.sh before building, it temporarily moves the emcc binary, make sure this is ok with your setup
- run/see clean-rebuild-all.sh, rebuild-js.sh, and rebuild-native.sh
Based on and adapted from a port by coolwangu