summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authoraktersnurra <gustaf@gustafrydholm.xyz>2026-04-17 23:34:22 +0200
committeraktersnurra <gustaf@gustafrydholm.xyz>2026-04-18 00:50:44 +0200
commitac8edfb0db52efe65e01f73ef44133a86571ba02 (patch)
tree928d8f0d5ce0520d5acf782c4fdfd452f8f8470f /README.md
parent152fd9d787c7433cad95795992e444250cb83216 (diff)
More based fixes
Diffstat (limited to 'README.md')
-rw-r--r--README.md67
1 files changed, 48 insertions, 19 deletions
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`).