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

Consider supporting other languages for plugin development? #3471

Open
log4gin opened this issue Sep 13, 2024 · 1 comment
Open

Consider supporting other languages for plugin development? #3471

log4gin opened this issue Sep 13, 2024 · 1 comment

Comments

@log4gin
Copy link
Contributor

log4gin commented Sep 13, 2024

I love using the micro editor, writing code in it feels like breathing fresh air.

At the same time, I also enjoy customizing my own plugins, customizing my own keybindings, and writing code in my own preferred way.

However, plugins can only be developed using Lua, and Lua has some shortcomings such as table holes, starting arrays with 1, etc.

Could you consider supporting other languages for plugin development? As far as I know, Yaegi seems to allow Go code to be dynamically loaded at runtime with a performance decrease of three times, which is still within my acceptable range. There is GPython for Python on Go. Have the developers considered supporting other languages for plugin development?

@Andriamanitra
Copy link
Contributor

There are some considerable upsides to only supporting a single language for plugins:

  • Smaller binary size
  • More cohesive plugin ecosystem (plugins written in the same language can easily share code with each other)
  • Less code to maintain
  • Easier to change the plugin API

Yaegi looks interesting. It might have been a good choice for a plugin system if micro was written today (although it would bloat the binary size more than Lua does).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants