-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Plugin support #3
Comments
Jup for sure worth exploring. I definitely need more time to flesh out how things are going to work before thinking about making things more complicated by implementing a plugin system which would require some stable API... |
Wow yeah this is amazing. I'm new to Rust and wouldn't be of much help in developing a plugin system but I want to second that idea, there is definitely a lot of interest in moving away from Raycast for me and for many others! |
@MatthiasGrandl This quite looks interesting for wasm plugin support: https://extism.org/ |
I would recommend instead just going for web assembly components. I have a project I have been hacking on to test them and you simply define an interface in their IDL (wit) and then use their bindgen tools to generate rust interfaces to implement. https://github.com/arlyon/litehouse/blob/main/crates/plugin-macro/wit/plugin.wit |
@arlyon do you have some recommended resources to read up on webassembly components? It does sound like a good fit. |
There is a bunch of scattered work but it is still quite new (though capable) so it takes a bit of digging sometimes. I want to stress it is very early days still but already quite functional.
The really nice thing with wit is being able to expose host apis to plugins (such as networking, the filesystem, or any other arbitrary functions). if you don't want to give a plugin network access it can't have it, and they are pretty lightweight since they can share the http stack with the host. |
Congrats on open sourcing what appears to be a viable open source alternative to Raycast!
If you ever wish to take this beyond a personal hobby project, it would be great to add support for user-written plugins. How about Rust WASM (in addition to whatever friendlier way to write plugins)?
The text was updated successfully, but these errors were encountered: