What is the benefit of writing plugins in Lua rather than any other language?

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/neovim

Our great sponsors
  • Scout APM - Less time debugging, more time building
  • SonarQube - Static code analysis for 29 languages.
  • SaaSHub - Software Alternatives and Reviews
  • MessagePack

    MessagePack serializer implementation for Java / msgpack.org[Java]

    I definitely don't want to program in vimscript but as I understand it, there "MessagePack structured communication enables extensions in any language".

  • pynvim

    Python client and plugin host for Nvim

    Here's the GitHub project for the api: https://github.com/neovim/pynvim.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • libuv

    Cross-platform asynchronous I/O

    No you can't. The event loops in Vim and Neovim are different. Neovim uses https://libuv.org/ with https://luvit.io/ So the event loop itself is lua. And it is not exposed to vimscript (as far as I know)

  • benchmarks

    Some benchmarks of different languages

    Do you have a source for LuaJit being faster than compiled languages? https://github.com/kostya/benchmarks

  • lua-languages

    Languages that compile to Lua

    You can find a rather extensive list here, with maybe Castl the closest to JS?

  • luajit2

    OpenResty's Branch of LuaJIT 2

    luajit.org said

  • Fennel

    Lua Lisp Language

    Frankly, would have preferred plain old JS which is far more a neutral language compared to Lua. But I guess there was no embeddable QuickJS https://bellard.org/quickjs/quickjs.html at the time the Neovim project was started. Thankfully there is stuff like https://fennel-lang.org/ around

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts