Skip to content
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

Improve plugin developer experience #1396

Open
2 of 6 tasks
imsnif opened this issue May 10, 2022 · 4 comments
Open
2 of 6 tasks

Improve plugin developer experience #1396

imsnif opened this issue May 10, 2022 · 4 comments
Labels
plugin system Enhancement or fixes related to plugin system
Milestone

Comments

@imsnif
Copy link
Member

imsnif commented May 10, 2022

  • Better stacktraces when a plugin crashes
  • A plugin crash should not crash the whole tool
  • Utility libraries in other languages (starting with javascript/typescript, python and Go)
  • Some sort of easy-to-install one-click compilation solution
  • Better debugging story
  • Improve documentation
@imsnif imsnif added the plugin system Enhancement or fixes related to plugin system label May 10, 2022
@imsnif imsnif added this to the Roadmap milestone May 10, 2022
@scabala
Copy link

scabala commented May 13, 2022

Hi @imsnif
I would like to ask about utility libraries for other languages point.
Does it mean it will be possible to create plugin for Zellij entirely in, for example, Python? Or Lua?
What is the approach here? Is it:

  • exposing internal mechanisms of Zellij via IPC endpoint like in i3/Sway? or
  • have WASM plugin with Python interpreter which will execute script provided by user?
    Or maybe something entirely else?

I'm asking out of curiosity - one thing that kept me away from creating plugin for Zellij is need to use WASM (which I'm not familiar with) to have something simple like custom status bar.

@imsnif
Copy link
Member Author

imsnif commented May 13, 2022

The idea is to provide a similar utility library for every language like we have with Rust - so that you can write plugins in python more easily for example.

Truthfully though, the more time passes - for various reasons (only some of them technological) I'm thinking more and more that we should switch out the whole WASM, write it off as a bad idea and move to lua or some similar plugin development language. I know @a-kenji has thoughts on this.

@scabala
Copy link

scabala commented May 13, 2022

It is actually good to hear ;) I personally believe that in this case, scripting languages are best approach.
Can't wait to see it available!

@denismaxim0v
Copy link
Member

denismaxim0v commented Jul 23, 2022

Regarding this.
I'm not sure if you have heard about rhai, but it looks like an interesting idea to explore. @imsnif
It's one of the options, but I still think that having wasm is a good idea, just needs some re-working.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
plugin system Enhancement or fixes related to plugin system
Projects
None yet
Development

No branches or pull requests

3 participants