hibiscus.nvim
hotpot.nvim
Our great sponsors
hibiscus.nvim | hotpot.nvim | |
---|---|---|
7 | 16 | |
100 | 330 | |
- | - | |
5.4 | 9.3 | |
5 months ago | 25 days 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.
hibiscus.nvim
-
Configuring Neovim with Fennel
local function bootstrap(url, ref) local name = url:gsub(".*/", "") local path = vim.fn.stdpath [[data]] .. "/lazy/" .. name if vim.fn.isdirectory(path) == 0 then print(name .. ": installing in data dir...") vim.fn.system { "git", "clone", url, path } if ref then vim.fn.system { "git", "-C", path, "checkout", ref } end vim.cmd [[redraw]] print(name .. ": finished installing") end vim.opt.runtimepath:prepend(path) end bootstrap("https://github.com/udayvir-singh/tangerine.nvim") -- Optional and only needed if you also want the macros bootstrap("https://github.com/udayvir-singh/hibiscus.nvim") require 'tangerine'.setup { target = vim.fn.stdpath [[data]] .. "/tangerine", -- compile files in &rtp rtpdirs = { "ftplugin", }, compiler = { -- disable popup showing compiled files verbose = false, -- compile every time changes are made to fennel files or on entering vim hooks = { "onsave", "oninit" } }, }
-
Swapping to Fennel
I can recommend using Fennel with Tangerine (integration) and Hibiscus (macros). My config here for inspiration.
-
Whenever I'm looking for plugins these days [OC]
For ease of use, you can use conjure for evaluating the code, cmp-conjure for nvim completions, hibiscus.nvim and nyoom.nvim macros for macros, and you can also use nyoom.nvim as a base config.
-
Hibiscus 🌺 -- Fennel eye-candy for neovim
Hibiscus.nvim:
-
Configurando Neovim com Fennel
local function bootstrap (name, url, path) if vim.fn.isdirectory(path) == 0 then print(name .. ": installing in data dir...") vim.fn.system {"git", "clone", "--depth", "1", url, path} vim.cmd [[redraw]] print(name .. ": finished installing") end end bootstrap ( "tangerine.nvim", "https://github.com/udayvir-singh/tangerine.nvim", vim.fn.stdpath "data" .. "/site/pack/packer/start/tangerine.nvim" ) bootstrap ( "hibiscus.nvim", "https://github.com/udayvir-singh/hibiscus.nvim", vim.fn.stdpath "data" .. "/site/pack/packer/start/hibiscus.nvim" ) require'tangerine'.setup{ compiler = { verbose = false, hooks = { "onsave", "oninit" } } }
-
Disable diagnostic while expanding luasnip snippets
Fennel with hibiscus:
-
🍊 Tangerine - Painless Fennel integration in Neovim
But, you can use another plugin of mine Hibiscus which contains bulk of zest and aniseed macros.
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?
tangerine.nvim - 🍊 Sweet Fennel integration for Neovim
aniseed - Neovim configuration and plugins in Fennel (Lisp compiled to Lua)
fennel-language-server - Fennel language server protocol (LSP) support.
lush.nvim - Create Neovim themes with real-time feedback, export anywhere.
vim-commentary - commentary.vim: comment stuff out
Lua - Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description.
conjure - Interactive evaluation for Neovim (Clojure, Fennel, Janet, Racket, Hy, MIT Scheme, Guile, Python and more!)
cajus-nvim - Basic config to transform your NVIM in a powerful Clojure IDE using fennel, clojure-lsp and conjure.
vim-tmux-navigator - Seamless navigation between tmux panes and vim splits
neovim-dotfiles - luong komorebi neovim lua configurations