Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Neovim
  3. hotpot.nvim

hotpot.nvim

MITFennel

A Fennel compiler plugin for Neovim that lets you write your config and plugins in Fennel.

GitHubGitHub
400 stars13 forks0 contributors

What is hotpot.nvim?

Hotpot.nvim is a Fennel compiler plugin for Neovim that enables developers to write their Neovim configuration and plugins in the Fennel programming language, a Lisp dialect that compiles to Lua. It provides ahead-of-time compilation, seamless integration with Neovim's runtime directories, and tools for managing Fennel code within the editor.

Target Audience

Neovim users who want to write their configuration and plugins in Fennel, particularly those who prefer Lisp syntax and functional programming paradigms for their editor customization.

Value Proposition

Developers choose Hotpot.nvim because it provides a robust, context-aware bridge between Fennel and Neovim with ahead-of-time compilation that ensures compatibility with Neovim's runtime structure, while offering advanced features like independent compilation contexts and interactive commands for power users.

Overview

:stew: Carl Weathers #1 Neovim Plugin.

Use Cases

Best For

  • Writing Neovim configuration files in Fennel instead of Lua or Vimscript
  • Developing Neovim plugins in Fennel with proper compilation to Lua for distribution
  • Managing multiple Fennel projects with different compiler settings using context-aware configuration
  • Interactive Fennel development within Neovim using evaluation and compilation commands
  • Working with Fennel macros in Neovim using the required .fnlm extension
  • Integrating Fennel code into Neovim's runtime directories like lsp/ and ftplugin/

Not Ideal For

  • Neovim users on versions older than 0.11.6, as Hotpot requires Neovim 0.11.6+ to run
  • Developers with existing Fennel macro files unwilling to rename them to .fnlm extension due to version 2's breaking change
  • Projects requiring Just-in-Time compilation for dynamic code evaluation without file saves
  • Teams preferring minimal plugin dependencies and simple Lua-only configurations without Fennel integration

Pros & Cons

Pros

Ahead-of-Time Compilation

Compiles Fennel to Lua on save, ensuring output files are placed in Neovim's runtime directories like lsp/ and ftplugin/ for seamless integration, as outlined in the Usage section.

Context-Aware Configuration

Supports independent compilation contexts via .hotpot.fnl files, allowing different directories or projects to have unique compiler settings and target locations, enhancing flexibility for multi-project setups.

Interactive Development Commands

Provides :Fnl and related commands for evaluating and compiling Fennel code directly in Neovim, similar to :lua, facilitating real-time testing and debugging without leaving the editor.

Programmatic API Access

Exposes a Lua API for automating compilation, evaluation, and context management, enabling advanced workflows and integration with other Neovim plugins or scripts.

Cons

Breaking Migration Requirements

Version 2 introduces incompatible changes, such as mandating .fnlm for macro files and a new configuration schema, forcing existing users to update files and potentially break setups, as warned in the migration notes.

Complex Package Manager Setup

Installation with managers like Lazy.nvim requires non-trivial steps, such as loading Hotpot before Lazy and adjusting performance.rtp.paths, adding overhead compared to simpler plugins.

Removed Built-in Diagnostics

Previously available in-editor compiler warnings were removed in version 2, shifting reliance to external LSP servers like fennel-language-server, which adds setup dependencies and may not cover all use cases.

Frequently Asked Questions

Quick Stats

Stars400
Forks13
Contributors0
Open Issues0
Last commit1 month ago
CreatedSince 2021

Tags

#compiler#developer-tools#lisp#text-editor#neovim-plugin#plugin-development#fennel#configuration-management#neovim#lua

Built With

F
Fennel
N
Neovim
L
Lua

Included in

Neovim20.6k
Auto-fetched 19 hours ago

Related Projects

conjureconjure

Interactive evaluation for Neovim (Clojure, Fennel, Scheme, Python, JavaScript, PHP, R, Lua, Rust and more!)

Stars2,121
Forks146
Last commit1 month ago
aniseedaniseed

Neovim configuration and plugins in Fennel (Lisp compiled to Lua)

Stars645
Forks30
Last commit1 year ago
nfnlnfnl

Enhance your Neovim with Fennel

Stars357
Forks11
Last commit3 months ago
tangerine.nvimtangerine.nvim

🍊 Sweet Fennel integration for Neovim

Stars226
Forks21
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub