From ac8edfb0db52efe65e01f73ef44133a86571ba02 Mon Sep 17 00:00:00 2001 From: aktersnurra Date: Fri, 17 Apr 2026 23:34:22 +0200 Subject: More based fixes --- README.md | 67 +++++++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 48 insertions(+), 19 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index ea9090d..f158bed 100644 --- a/README.md +++ b/README.md @@ -1,41 +1,70 @@ # nvim -My neovim rice. +My neovim rice. Written in [Fennel](https://fennel-lang.org/) via +[Hotpot](https://github.com/rktjmp/hotpot.nvim). -# Dependencies +## Dependencies -``` -neovim = nightly -``` +- Neovim nightly (0.13+) +- [Cargo](https://rustup.rs/) (builds `fff.nvim` and `tree-sitter-cli`) -# Structure +## Structure ``` . +├── init.lua # Bootstrap Hotpot └── fnl - ├── plugins # Plugin configs. - │   └── lsp # LSP related configs. - └── settings # Neovim settings. + ├── config.fnl # Plugin loader (lazy.nvim) + ├── macros.fnlm # Compile-time Fennel macros + ├── plugins/ # Plugin specs + │ ├── lsp/ # LSP servers, diagnostics, keymaps + │ └── snippets/ # LuaSnip snippet files + └── settings/ # Options, keymaps, autocmds, terminal ``` -## Treesitter +## Hotpot -Install treesitter cli with if treesitter seems broken: +Hotpot compiles Fennel to Lua on the fly and caches the result. -```sh -cargo install tree-sitter-cli +**Macro files** must use the `.fnlm` extension and return a table of exported +macros. Consumers use `(import-macros {: name} :macros)`. + +### Sync after external edits + +Hotpot watches `BufWritePost` inside Neovim. Edits made outside Neovim +(terminal, CI, Claude Code) won't trigger recompilation. Run: + +```vim +:Hotpot sync ``` -## Vale +### Clear compiled cache -1. Create a `.vale.ini` file in the project -2. Run `vale sync` with the vale located in `mason/packages/vale` +If things get weird, nuke the cache: + +```vim +:Hotpot clear-cache +``` -## Clear lua Cache +Or from Fennel: -```fnl +```fennel (let [cache-api (require :hotpot.api.cache)] (cache-api.clear-cache)) ``` -Select and run `:Fnl` +## Treesitter + +Uses `nvim-treesitter` on the `main` branch (parser-only). Highlighting and +indentation use Neovim's built-in `vim.treesitter` APIs. + +Install the treesitter CLI if parser compilation fails: + +```sh +cargo install tree-sitter-cli +``` + +## fff.nvim + +Fuzzy finder built from source. If the build fails, make sure `cargo` is +available and up to date (`rustup update`). -- cgit v1.2.3-70-g09d2