Lua is the defacto language for Neovim plugin development and configuration.
Fennel can be used to write Neovim packages and configuration, using nfnl to generate the equivalent Lua code that Neovim runs.
Although Neovim fully supports Vimscript, Practicalli encourages Fennel or Lua, as Vimscript is a niche language with quite complex syntax.
- Full Lua compatibility: Easily call any Lua function or library from Fennel and vice-versa.
- Zero overhead: Compiled code should be just as efficient as hand-written Lua.
- Compile-time macros: Ship compiled code with no runtime dependency on Fennel.
- Embeddable: Fennel is a one-file library as well as an executable. Embed it in other programs to support runtime extensibility and interactive development.
Anywhere you can run Lua code, you can run Fennel code.
Translate Lua to Fennel
See Fennel is an online antifennel tool to convert Lua to Fennel or Fennel to Lua.
practicalli/neovim-config-redux configuration provides helper functions to minimise the translation required.
The Conjure package which provides the Clojure REPL (and much more) is written in Fennel.
nfnl generates Lua code from Fennel code. Neovim runs the generated Lua code.
nfnl loads only when working in directories containing a
.nfnl.fnl configuration file, so has zero overhead when not working with fennel.
*.fnl files are automatically compiled to
*.lua when changes are saved, showing any compilation errors to provide an effective feedback loop.
- Anti-fennel - convert from Lua code to Fennel code.
- nfnl - write plugins or configuration for Neovim with great runtime performance
- hotpot - seamless Fennel inside Neovim
See Fennel is an online antifennel tool to convert between Lua and Fennel.
TIC-80 is a simulated computer environment to to write code, design art, compose music and retro style game games.
LÖVE is a framework for making games with the Lua programming language, allows import from external resources and can use any resolution or memory resources required.
TIC-80 and LÖVE provide cross-platform support across Windows, Mac and Linux systems. TIC-80 games can also be played in the browser.