Hibiscus 🌺 -- Fennel eye-candy for neovim

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

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • hibiscus.nvim

    :hibiscus: Flavored Fennel Macros for Neovim

  • Hibiscus.nvim:

  • nvim-lua

  • I guess this is a preference thing, I would consider my config my config highly customized and pretty advanced, it has almost 8k lines of code, I don't fiddle with it as much as when I just converted to lua but I still update ocasionally and I find lua perfect for the job, instead of macros I just create small lua functions in order to avoid code duplication (where applicable).

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • pact.nvim

    🔪🩸🐐 semver aware package manager for neovim

  • Macros are pretty attractive, because you suddenly feel really unconstrained by syntax. You can write a fennel macro to handle really weird non-uniform syntax which can be exciting. In the end, it's generally less hassle to go with functions though. Often I'll write a macro, then tune it, then tune it again, then realise I just need a function function, i.e this was all a macro initially but now the macro is simply sugar to let you go (await (my-func 10)), and even then it's pretty debatable if simply accepting a function name and arguments is particularly worse (i.e: (await my-func 10) where await is just a function), I really just wanted to retain the "call style" on the day I wrote it. They do give you a lot of power though, one of the first things I wrote after Hotpot was a macro to set keymaps to functions directly, with closure scope which would have been pretty annoying without the macro - possible as the macro is just lua in the end, but pretty annoying, annoying enough that most people didn't bind "one shot" functions. I think that is where macros really shine, allowing you to actually patch short comings, not just alter syntax. Apart from that - which is now deprecated by 0.7 - I think I have one other macro in my config which ... could actually just be a function.

  • neorg

    Modernity meets insane extensibility. The future of organizing your life in Neovim.

  • It's clean, once you embrace the parentheses. The Lua stuff I've written for plugins is so much messier to look at imo, and makes it much harder to read as the scope expands. Which can be an issue the further we try to dig into the inner workings of Neovim just from Lua. I implemented a dynamic nested syntax code block system for Neorg, and it is extremely messy to read even with my comments just from how needlessly verbose Lua can sometimes be ime

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