mirror of
https://github.com/rockerBOO/awesome-neovim.git
synced 2026-11-09 10:40:24 -06:00
[GH-ISSUE #2336] "Neovim Lua Development" and "Fennel" sections are poorly organised #60056
Reference in New Issue
Block a user
Originally created by @sukineco on GitHub (May 28, 2026).
Original GitHub issue: https://github.com/rockerBOO/awesome-neovim/issues/2336
Originally assigned to: @rockerBOO, @Penaz91, @DrKJeff16 on GitHub.
Neovim Lua Development contains the following sorts of things:
saghen/blink.lib,nvim-lua/plenary.nvim,kkharji/sqlite.lua)folke/lazydev.nvim,milisims/nvim-luaref)bfredl/nvim-luadev,nvim-mini/mini.nvim#mini.doc,nvim-mini/mini.nvim#mini.test)svermeulen/vimpeccable,OXY2DEV/helpview.nvim)So it needless to say that the category is quite bloated, which isn't so suprising considering how ambiguous the name is (is this for Lua development in Neovim? Lua development for Neovim? If for, are libraries included? and so on).
Fennel is kinda similar and is less bloated only due to Fennel being less popular. Here is what it contains:
udayvir-singh/hibiscus.nvim)aileot/nvim-thyme,Olical/nfnl,rktjmp/hotpot.nvim)Olical/conjure)I propose the following:
[Lua]and[Fnl]?)Problems not covered:
Obviously open for discussion :3
@sukineco commented on GitHub (May 29, 2026):
Okay, some addtions.
On the second thought,
udayvir-singh/hibiscus.nvimis not quite a Library? Or is it? It's a library for writing init file, not plugins.I saw Integration category being mentioned before (here) and I think it would be a suitable solution for Fennel integrations. UPD: If Integration passes, it could help with unnesting Split and Window via moving out Tmux which allows for further merging with UI; Terminal Integration and Git might also belong here (Git may require splitting Github and Gitlab into their own subsections of Integration which seems fine to me).
Plugins for Neovim Lua development are kinda Programming Languages Support/Lua? Awesome Emcas does the same thing with ELisp but it's obviously a different case. Maybe some Programming Languages Support/Lua/Neovim would fit? UPD: I saw talks about nesting in #1875, parsing point makes absolute sense so maybe additional nesting is a bad idea.
Off-topic. Programming Languages Support should have a separate subcategory for every language. It'd be just more organised and so is easier to navigate through.
Off-topic. Dependency Management has a rather confusing name and all plugins from there could easily be merged into Programming Languages Support.
@sukineco commented on GitHub (May 29, 2026):
Also a huge off-topic on colorschemes. If Library passes, Colorscheme Creation could be merged into there which in perspective allows for merging Colorscheme into UI (as proposed in #1875) without additional nesting.
@sukineco commented on GitHub (May 29, 2026):
Summary
nvim-lua/plenary.nvimlooks reasonable@DrKJeff16 commented on GitHub (May 29, 2026):
At first value, I feel that a "Library" section is a bit wonky. Some of these plugins to be moved there can be utilized on their own as a standalone plugin.
Will have to think this through later today when I'm free.
A good idea could be a draft PR, like #2311, to have a good idea how things would be ordered.
@sukineco commented on GitHub (May 30, 2026):
Well, I think "Library" could be just a fallback for library-like plugins if there is no better place for them. Anways it's better than bloating "Utility" even more or placing these plugins in some seemingly unrelated categories.
@DrKJeff16 commented on GitHub (May 31, 2026):
Need @Penaz91's opinion.
@Penaz91 commented on GitHub (May 31, 2026):
The "Neovim Lua Development" section has been left a bit to its own devices since I first saw the project (way before I joined the maintenance team).
I think the main objective there is to gather plugins that help "Programming Neovim using Lua" (and not the opposite). In essence all the plugins that:
I think the "Fennel" section was meant to be under "Neovim Lua Development", since Fennel can call Lua functions, but don't quote me on that.
In general:
vim.api.nvim_set_keymapAPI) or to use other lua-compatible languages for their config.This should cover most cases that I see happening right now. The only thing that may be a bit wonky is the definition of Library, in case someone is not agreeing with mine (aka "everything that shouldn't be written twice, see
plenary.nvim).I'm available for any question in regard to this matter, I may not respond quickly but I'll try to be as comprehensive as possible when I do.
@sukineco commented on GitHub (May 31, 2026):
Yeah, I kinda fully agree with this but I think it's better for "Neovim configuration helpers" to be a subsection. Maybe something like this would work?
Also I think instead of "Fennel" it could be "Third-party Languages Support" or something like this because we already have
gpanders/nvim-moonwalk(in "Utility" rn) at very least.And, kinda off-topic tho, if this kind of structure is fine then here is no place for "Integration"; should I open a separate PR for it? For me at least, "Integration" seems like a good thing.
@Penaz91 commented on GitHub (May 31, 2026):
This sounds like a good starting point.
Configuration is a way of coding the editor in an of itself so there is some overlap and I can see why you'd want to make a subsection out of it.
If there will be a "third party languages support" we risk having all languages mixed up (and making more subsections might break sites that use this repository as their data source)
Depends on what "integration" will contain and what you mean for such term. Breaking down the problem in smaller chunks is a good idea though, so I would say to hold off on that for now and tackle it in another PR.
@sukineco commented on GitHub (May 31, 2026):
Mostly for clarity but maybe placing such plugins just in "Extending Neovim" would be fine.
Adding a separate section for every language then? Also, would "Fennel & Lisp" be a better fit then (I'm just developing a lisp language specifically for Neovim and still not quite sure where to place it because it's not Fennel but spiritually is very similar).
When I placed Fennel there it was just a bad idea it seems. I think of "Integration" as the "Programming Languages Support" but for external tools (git, github, ai agents, tmux and so on); not quite sure if "Terminal Integration" should be subsection in this case.