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 needs Neovim 0.5.0+ (because of the packer.nvim dependency)
init.lua becomes a real first party thing in Neovim, 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
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.
CLOSED: [2020-09-12 sam. 18:36]
Trying to move the
bindings.fnl file failed pretty sadly
The script always load Fennel on start for now. The nvimprofile tool might be useful, at least to time the complete initialization of Neovim
CLOSED: [2020-09-12 sam. 19:28]
Probably incompatible with an "AOT" approach since the lua environment would not have Fennel loaded anymore
This Error is probably due to weird argument handling on the vimscript side ?
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
When vim.cmd or another VIM API call fails in Fennel, the error is not usable to
properly trace where the error came from and instead displays an useless
nil error or something.
This makes debugging really hard as bissecting becomes the only way to actually get something going on
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