A fast and configurable Fennel integration plugin for Neovim, enabling you to write your configuration in Fennel.
Tangerine is a Neovim plugin that integrates the Fennel programming language into the editor, allowing users to write their Neovim configuration and plugins in Fennel. It solves the problem of cumbersome Fennel setup by providing fast compilation, interactive evaluation, and a clean API, making functional configuration writing accessible.
Neovim users who prefer functional programming or Lisp syntax (via Fennel) for their configuration, and developers looking to migrate from Lua/Vimscript to a more expressive language.
Developers choose Tangerine for its speed, simplicity, and control compared to alternatives like Hotpot or Aniseed. It offers a minimal, transparent approach without unnecessary abstraction, making debugging easier and keeping compile times minimal.
🍊 Sweet Fennel integration for Neovim
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Compiles Fennel to Lua in milliseconds, enabling quick configuration reloads as emphasized in the README's 'Blazing Fast Compilation' feature.
Provides 100% support for evaluating Fennel code directly within Neovim, with results displayed in floating windows for real-time feedback.
Offers configurable hooks (onsave, oninit, onload) for precise management of compilation timing, avoiding unnecessary rebuilds.
Exposes a full API for programmatic compilation, evaluation, file cleaning, and window management, allowing deep integration and customization.
Requires creating a bootstrap file and configuring hooks manually, which can be error-prone compared to more automated plugins; the README includes specific workarounds for issues like lazy.nvim integration.
Lacks advanced tools like macro support or extensive debugging out-of-the-box, relying on separate plugins like hibiscus.nvim for extended functionality.
Development and building depend on tools like pandoc, make, and GNU utils, which may complicate contributions or custom builds for some users.
tangerine.nvim is an open-source alternative to the following products:
hotpot.nvim is a Neovim plugin that provides a Lua configuration framework with hot-reloading capabilities, allowing developers to write and test Lua configurations without restarting the editor.
Aniseed is a Fennel-to-Lua compiler and Lua library designed for Neovim configuration and plugin development. It provides macros, utilities, and integration with Neovim's API.