summaryrefslogtreecommitdiff
path: root/nvim/README.md
blob: 355660921d479fce78f6597bad85ecfa5636791d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
![screenshot](screenshot.png)

# `eltrac.nvim`

Come and observe a clumsy koala tweaks his editor. 

## Setup 

This configuration uses [Fennel](https://fennel-lang.org/) over Lua. All `.fnl` files are compiled to `.lua` (instead of evaluating during runtime) out of consideration for performance and booting speed, using [nfnl](https://github.com/Olical/nfnl).

When installing for the first time (nfnl was not available), run this command to compile all Fennel files to Lua. Make sure you have [Babashka](https://babashka.org/) installed.

``` shell
bb script/fennel.bb --files | bb script/fennel.bb --compile
```

When nfnl is available, run `:NfnlCompileAllFiles` inside Neovim to compile all, or edit a `.fnl` file to compile this file upon every `:wq`.

## Make your own Fennel-based configuration! 

There is a [Nushell](https://www.nushell.sh/) script (`convert-to-fennel.nu`) that converts `.lua` files to `.fnl` using [antifennel](https://git.sr.ht/~technomancy/antifennel). If you have a regular Lua-based Neovim configuration, do this and you will have a working Fennel-based one!

Be sure to back up your configuration before running these scripts:

```shell 
nu convert-to-fennel.nu
bb script/fennel.bb --files | bb script/fennel.bb --compile
```

If you don't use Nushell or don't have antifennel installed, this script will not work. I'll try to make time and create a self-contained binary that does this... some day.