另一方面,看到 Emacs 的 user ,特別是 Clojure 社群的使用者,總是信手捻來,就開發一下自己的 plugin 。這種時候,我又心生羨慕。要是我也可以有個 lisp 來開發 plugin ,該有多好?
總之,這件事其實也辦得到了,Neovim 提供 lua 做為 embedded language。而 fennel 可以完美地編譯成為 lua 。aniseed 就是這個 compiler 。
我試了一下之後,還發現,居然意外的很簡單上手。做法如下。
- 使用 neovim 安裝 Conjure
- 到 Olical/aniseed 頁面,找一行 curl 指令
curl -fL https://raw.githubusercontent.com/Olical/aniseed/master/scripts/seed.sh | sh
執行完,就可以生出一個 plugin directory - 然後,就可以開始使用 REPL-driven 的方式開發 plugin
- 參考文件 => 開啟 neovim 之後, :help aniseed
注意事項:
0. 教學部分,首先可以先看 aniseed 的網站,開頭的影片是一個範例。
1. REPL-driven 的感覺,會與 Clojure 有很大的不同。
1. REPL-driven 的感覺,會與 Clojure 有很大的不同。
2. aniseed 已經有提供標準的 library functions ,引入 aniseed.core 即可。
3. aniseed 也可以無縫地操作 neovim 的 API ,引入 aniseed.nvim 即可。 aniseed.nvim 可以界接 https://github.com/norcalli/nvim.lua