2023-10-27 11:51:04 -04:00
|
|
|
# Scroll
|
|
|
|
|
2023-11-13 14:46:04 -05:00
|
|
|
Making a text editor in Typescript based on Kilo (Script + Kilo = Scroll). This
|
2024-07-10 12:11:27 -04:00
|
|
|
runs on
|
|
|
|
|
|
|
|
- [Bun](https://bun.sh/) (v1.0 or later)
|
|
|
|
- [Deno](https://deno.com/) (v1.37 or later)
|
|
|
|
- [TSX](https://tsx.is/) - this is a Typescript wrapper using NodeJS (v20 or
|
|
|
|
later)
|
2023-10-27 11:51:04 -04:00
|
|
|
|
2023-11-16 11:10:33 -05:00
|
|
|
To simplify running, I'm using [Just](https://github.com/casey/just).
|
2023-11-13 14:46:04 -05:00
|
|
|
|
2023-11-16 11:10:33 -05:00
|
|
|
- Bun: `just bun-run [filename]`
|
|
|
|
- Deno: `just deno-run [filename]`
|
2024-07-12 15:33:03 -04:00
|
|
|
- TSX: `just tsx-run [filename]`
|
|
|
|
|
|
|
|
Alternatively, there are shell scripts for each runtime in the `bin` folder.
|
|
|
|
So you can run the editor by calling `./bin/deno.sh [filename]` without installing Just.
|
2023-11-10 21:24:47 -05:00
|
|
|
|
2024-07-10 16:12:39 -04:00
|
|
|
Deno is generally used for dev tools, but each runtime should be functionally
|
|
|
|
equivalent running the text editor.
|
|
|
|
|
2023-11-10 21:24:47 -05:00
|
|
|
## Development Notes
|
2023-11-13 14:46:04 -05:00
|
|
|
|
2024-07-10 12:11:27 -04:00
|
|
|
- Implementation is based on [Kilo](https://viewsourcecode.org/snaptoken/kilo/)
|
|
|
|
and [Hecto](https://archive.flenker.blog/hecto/)
|
2023-11-13 14:46:04 -05:00
|
|
|
- Runtime differences are adapted into a common interface
|
2024-07-10 12:11:27 -04:00
|
|
|
- Runtime implementations are in the `src/deno`, `src/bun`, `src/tsx` folders
|
2023-11-13 14:46:04 -05:00
|
|
|
- The main implementation is in `src/common`
|