This is a test to get all the lisp goodness in a neovim configuration. Also mostly doing some lisp to cool off.
Note This toy probably needs Neovim 0.7.0+, because I didn't care about extra compat
A few hacks in the initialization are used to defer the init to Lua, and then Fennel.
Everything happens in the
init function of config.fnl,
and then in all the surrounding modules, including bootstrapping packer.nvim,
and all plugin configuration (including GUIs; they're plugins right?)
The plugin list is declared simply in a table variable in
plugins.fnl file, and Packer handles all the rest by
:Packer* commands in Neovim later.
I'll edit this in emacs for the time being, but having the Neovim API doc somewhere handy and completion in Fennel would be awesome
For the QoL.
Just so the config never crashes on plugins unsync, but instead shows a message with more info like
FOO is missing, maybe you need to :PackerSync
The packadd is necessary to update the runtimepath, which triggers an update of lua package.path and package.cpath
Without this, the
require "XXX" calls fail
So it would be nice to handle this transparently from the config
And not instantly cry whenever I hit
SPC g g.
For the time being, when I go in a JS project that only has the LSP servers
through direnv (via
layout node or something, I need to:
RETa bunch of times to pass error messages
:eto reload the buffer
RETa bunch of times to pass "expected" error messages (like tailwindcss server missing if I'm in a project that doesn't use tailwind)