this post was submitted on 16 Jul 2023
9 points (100.0% liked)

Rust Lang

20 readers
1 users here now

Rules [Developing]

Observe our code of conduct

Constructive criticism only

No endless relitigation

No low-effort content

No memes or image macros

No NSFW Content

founded 2 years ago
MODERATORS
 

Hi, I Just started working on a Emacs-inspired text editor in Rust.

Being insipred by Emacs, the most important part Is the possibiliy to implement new components.

My ideas were:

  • Rust-based scripting language, like Rhai
  • RustPython (slower, but more compatible and lots of people know Python)
  • PyO3 (Bigger executable and not that fast)
  • Wasm/Wasi (Cross-platform, but I don't know if the compatibility with Rust's hosted functions and structs is good)
  • Other binded language, like V8, Lua or SpiderMonkey
  • Compiled plugins, like .so or .DLL (Fast, but not compatible; there should be Rust plugin frameworks for implementing this, but I don't remember the name)

The elements to analyze are: speednees (consider it's a text editor, so...), easy-to-develop and Cross-platform (if possible, not that important), but the possibility to execute functions in the host Rust program is EXTREMELY important.

Thoughts?

Thanks in Advance.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 7 points 1 year ago

One thing I’ve been thinking about in this area is you could make the “plugin system” completely compiled. Users would have some toml or .rs file they would change and point the rust compiler at a directory and come out with a new binary. You could still add in a “Lua plugin” plugin which enables lua-based plugins without forcing all users to pull down the gear required to use that in rust. It would also make it possible for people to create various “distributions” of the editor with varying complexity and size depending on user needs