A Typescript CLI text editor based on Kilo (https://viewsourcecode.org/snaptoken/kilo/) and Hecto (https://www.flenker.blog/hecto/)
Go to file
Timothy J. Warren db3e5dd685
All checks were successful
timw4mail/scroll/pipeline/head This commit looks good
Don't bother testing tsx runtime
2024-08-05 14:40:43 -04:00
bin Add shell scripts to run without just, fix the issue with bun and tsx failing to exit 2024-07-12 15:33:03 -04:00
demo Misc refactoring 2024-07-24 15:44:28 -04:00
src Refactor again 2024-07-25 11:47:44 -04:00
.editorconfig Rough start to Deno runtime implemenation 2023-10-27 16:02:54 -04:00
.gitignore Fix some issues with line splitting/merging 2024-07-10 16:12:39 -04:00
bunfig.toml Refactor tests to be consistent for both runtimes 2023-11-16 20:57:21 -05:00
coverage.sh Add Rust filetype, full tests for Option 2024-07-24 14:58:42 -04:00
deno.jsonc Refactor again 2024-07-25 11:47:44 -04:00
Jenkinsfile Don't bother testing tsx runtime 2024-08-05 14:40:43 -04:00
justfile Refactor again 2024-07-25 11:47:44 -04:00
package.json Add shell scripts to run without just, fix the issue with bun and tsx failing to exit 2024-07-12 15:33:03 -04:00
README.md Highlight numbers properly 2024-07-16 11:17:45 -04:00
tsconfig.json Add string highlighting 2024-07-16 15:57:41 -04:00

Scroll

Making a text editor in Typescript based on Kilo (Script + Kilo = Scroll). This runs on

  • Bun (v1.0 or later)
  • Deno (v1.37 or later)
  • TSX - this is a Typescript wrapper using NodeJS (v20 or later)

To simplify running, I'm using Just.

  • Bun: just bun-run [filename]
  • Deno: just deno-run [filename]
  • 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.

Deno is generally used for dev tools, but each runtime should be functionally equivalent running the text editor.

Development Notes

  • Implementation is based on Kilo and Hecto
  • Runtime differences are adapted into a common interface
  • Runtime implementations are in the src/deno, src/bun, src/tsx folders
  • The main implementation is in src/common