Description
Feature or enhancement
Proposal:
I recently ran into some issues with building and using the demo WASM REPL in Tools/wasm/emscripten/web_example/
using the instructions from this page, so I'm proposing some fixes and changes here, specifically:
- Fixes:
- Exporting
HEAPU32
at build time so thatpython.worker.mjs
has access to it to determine the version number - Properly closing a
<script>
tag inpython.html
so thatxterm.js
loads properly
- Exporting
- New Features:
- Augmenting the REPL implementation to support arrow keys for navigation (including accessing history)
- Resetting things after a process is stopped so we can cleanly restart multiple times
- Replacing the plain
textarea
element with a nicer code editor (Ace)
I made these changes while putting together a web demo for a different feature proposal and figured I'd share them in case they were of interest. I'll put in a PR shortly.
Has this already been discussed elsewhere?
This is a minor feature, which does not need previous discussion elsewhere
Links to previous discussion of this feature:
- Builds on Improved usability of WASM web REPL for testing/development. #97747
- Use new REPL for wasm demo #124621 suggests updating the demo to use PyREPL, which would be a nice change but which I didn't attempt to implement yet since it requires much bigger changes to the demo