Skip to content
Execute local Fennel Lisp files in Neovim upon startup
Clojure Makefile Vim script
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
deps/lua/lua/aniseed
fnl/nvim-local-fennel
lua/nvim-local-fennel
plugin
.gitattributes
.gitignore
Makefile
README.adoc
UNLICENSE

README.adoc

nvim-local-fennel

Read my post, Neovim configuration and plugins in Fennel (Lisp), to get some more background on Aniseed.

Compile Fennel to Lua for execution by Neovim upon editor startup with the help of Aniseed.

Add some Fennel code such as (print "Hello, World!") to a file named .lnvim.fnl in your current directory or anywhere above it such as your home directory. A file will be created beside the .fnl called .lnvim.lua which will be executed upon startup. Files higher up in your directory hierarchy, such as the home directory, will be executed before those found lower down, such as in a project.

Be sure to git ignore .lnvim.fnl and .lnvim.lua if you don’t want to share your local configuration with others. If you do want to share a .lnvim.fnl I’d recommend you ignore the .lua file to prevent duplicated changes in git commits.

Aniseed will only re-compile the Fennel code if it’s changed since last time you opened Neovim. If you delete the .lnvim.fnl file then the .lnvim.lua file will be deleted automatically next time you launch Neovim to ensure you don’t accidentally leave Lua files laying around.

Installation

Use your favourite plugin manager, I highly recommend vim-plug if you don’t have one already.

Pin the plugin to a tag then subscribe to new releases through GitHub. I’d hate to accidentally break your entire configuration through a bad release or breaking change. I follow semver, any breaking changes will incur a major version bump, breaking changes and upgrade steps will be listed in the release notes.

Plug 'Olical/nvim-local-fennel', { 'tag': 'v1.3.0' }

No further steps are required, this plugin has zero configuration, it should Just Work™.

Unlicenced

Find the full unlicense in the UNLICENSE file, but here’s a snippet.

This is free and unencumbered software released into the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

You can’t perform that action at this time.