pact.nvim
hotpot.nvim
pact.nvim | hotpot.nvim | |
---|---|---|
1 | 16 | |
43 | 332 | |
- | - | |
0.0 | 9.3 | |
over 1 year ago | about 1 month ago | |
Fennel | Fennel | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pact.nvim
-
Hibiscus πΊ -- Fennel eye-candy 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.
hotpot.nvim
-
Configuring Neovim with Fennel
hotpot.nvim
-
A config using fennel .
There are some plugins out there that provide the Lua glue code (e.g. hotpot.nvim), but you will still have to depend on Fennel. I have not tried any of these plugins, so I have no idea how well they work. Neovim is not Emacs, and Lua is a fine language by itself, so that's what I prefer to stick with. And Vim script of course, it may be bad for plugins, but it's actually quite nice for configuration.
-
Swapping to Fennel
Hotpot: this is mostly just a Fennel compiler, but it is quite nice at that
-
[help] How to write nvim plugins with Fennel?
Another method would be to use hotpot: https://github.com/rktjmp/hotpot.nvim. It's much simpler with what it does, doesn't include the macros and helper functions but you might prefer it. Here's an example: https://github.com/rktjmp/paperplanes.nvim
-
LSP for Fennel?
While there isn't an lsp, https://github.com/rktjmp/hotpot.nvim can give you diagnostics and https://github.com/Olical/conjure can give you cmp completions
- Nvim config in fennel?
- Hotter Hotpot: bytecode cache beta branch
-
Best way of using fennel in neovim? Aniseed vs. Hotpot vs. Manually compiling?
I see there are 3 approaches Using aniseed: https://github.com/Olical/aniseed Using hotpot: https://github.com/rktjmp/hotpot.nvim Using plain fennel: https://git.sr.ht/~hauleth/dotfiles/tree/master/item/vim/.config/nvim/init.lua (this is just the one I found, lmk if theres a better version of this)
-
home-manager: How to run a command (remove a directory in ~/.cache/) when a package is upgraded or profile is generated?
Hey y'all, I'm running into this issue. The solution is to remove the directory ~/.cache/nvim/hotpot. I would like to automate this when I upgrade my home environment packages as the issue seems to happen after a home-manager switch --flake --recreate-lock-file operation.
-
Fennel + Neovim and the fallacy of choice
Here's a macro I wrote ages ago for my settings. Some might turn their noses up at doing this, because really you're just making a potentially leaky if not dysfunctional abstraction over nvim's actual API, but, well I did it for fun π€·ββοΈ.
What are some alternatives?
nvim-lua
aniseed - Neovim configuration and plugins in Fennel (Lisp compiled to Lua)
neorg - Modernity meets insane extensibility. The future of organizing your life in Neovim.
lush.nvim - Create Neovim themes with real-time feedback, export anywhere.
lightspeed.nvim - deprecated in favor of leap.nvim
tangerine.nvim - π Sweet Fennel integration for Neovim
leap.nvim - Neovim's answer to the mouse π¦
conjure - Interactive evaluation for Neovim (Clojure, Fennel, Janet, Racket, Hy, MIT Scheme, Guile, Python and more!)
hibiscus.nvim - :hibiscus: Flavored Fennel Macros for Neovim
cajus-nvim - Basic config to transform your NVIM in a powerful Clojure IDE using fennel, clojure-lsp and conjure.
neovim-dotfiles - luong komorebi neovim lua configurations
which-key.nvim - π₯ Create key bindings that stick. WhichKey is a lua plugin for Neovim 0.5 that displays a popup with possible keybindings of the command you started typing.