diff options
author | sefidel <contact@sefidel.net> | 2023-10-01 20:43:55 +0900 |
---|---|---|
committer | sefidel <contact@sefidel.net> | 2023-10-01 20:43:55 +0900 |
commit | 22476d08ae70f91bfd5fed6cead99f5a7b8e011d (patch) | |
tree | 5b9843c859731186a82a1e390d98623f33080fb8 /fnl/nvrc/macro | |
parent | c74dcd3f028d89f389e0430fd524ca290300dfdf (diff) | |
download | nvimrc-22476d08ae70f91bfd5fed6cead99f5a7b8e011d.tar.gz nvimrc-22476d08ae70f91bfd5fed6cead99f5a7b8e011d.zip |
feat(pack)!: use lazy.nvim
This commit replaces packer.nvim with lazy.nvim to make the lazy-load based package management painless, with lazy.nvim's automatic module lazy-loading and lockfile support. Squashed commit of the following: commit 4b972111b3f91f0b385a6d58640c7751ff8ecd22 Author: sefidel <contact@sefidel.net> Date: Sun Oct 1 20:43:42 2023 +0900 wip: remove leftover mentions to packer.nvim commit 536106e405b9ec20084b9735a937e80699cdcbb8 Author: sefidel <contact@sefidel.net> Date: Sun Oct 1 20:33:44 2023 +0900 wip: get rid of luarocks macros commit 6cf35948e4a3081446a9c9414bf350661444df72 Author: sefidel <contact@sefidel.net> Date: Sun Oct 1 20:18:51 2023 +0900 wip: working lazy.nvim checkpoint commit 407056efd6de976b4d91162c70e3b49cca17664e Author: sefidel <contact@sefidel.net> Date: Sun Oct 1 13:38:43 2023 +0900 wip: replace packer.nvim with lazy.nvim
Diffstat (limited to 'fnl/nvrc/macro')
-rw-r--r-- | fnl/nvrc/macro/pack.fnl | 43 |
1 files changed, 7 insertions, 36 deletions
diff --git a/fnl/nvrc/macro/pack.fnl b/fnl/nvrc/macro/pack.fnl index 7f76a0d..074723e 100644 --- a/fnl/nvrc/macro/pack.fnl +++ b/fnl/nvrc/macro/pack.fnl @@ -7,16 +7,14 @@ (fn tbl? [x] (= :table (type x))) -(local {: format} string) (local {: insert} table) (global nvrc/pack []) -(global nvrc/rock []) (lambda pack [identifier ?options] "Returns a mixed table with the identifier as the first sequential element and options as hash-table items. - See https://github.com/wbthomason/packer.nvim for information about the + See https://github.com/folke/lazy.nvim for information about the options." (assert-compile (str? identifier) "expected string for identifier" identifier) (assert-compile (or (nil? ?options) (tbl? ?options)) @@ -24,8 +22,8 @@ (let [options (or ?options {}) options (collect [k v (pairs options)] (if - (= k :req) (values :config (format "require('nvrc.packs.%s')" v)) - (= k :init) (values :config (format "require('%s').setup({})" v)) + (= k :req) (values :config `#(require (string.format "nvrc.packs.%s" ,v))) + (= k :init) (values :config `#((. (require ,v) :setup) {})) (values k v)))] (doto options (tset 1 identifier)))) @@ -33,47 +31,20 @@ (lambda pack! [identifier ?options] "Declares a plugin with its options. This is a mixed table saved on the global compile-time variable nvrc/pack. - See https://github.com/wbthomason/packer.nvim for information about the + See https://github.com/folke/lazy.nvim for information about the options." (assert-compile (str? identifier) "expected string for identifier" identifier) (assert-compile (or (nil? ?options) (tbl? ?options)) "expected table for options" ?options) (insert nvrc/pack (pack identifier ?options))) -(lambda rock [identifier ?options] - "Returns a mixed table with the identifier as the first sequential element - and options as hash-table items. - See https://github.com/wbthomason/packer.nvim for information about the - options." - (assert-compile (str? identifier) "expected string for identifier" identifier) - (assert-compile (or (nil? ?options) (tbl? ?options)) - "expected table for options" ?options) - (let [options (or ?options {})] - (doto options - (tset 1 identifier)))) - -(lambda rock! [identifier ?options] - "Declares a plugin with its options. - This is a mixed table saved on the global compile-time variable nvrc/rock. - See https://github.com/wbthomason/packer.nvim for information about the - options." - (assert-compile (str? identifier) "expected string for identifier" identifier) - (assert-compile (or (nil? ?options) (tbl? ?options)) - "expected table for options" ?options) - (insert nvrc/rock (rock identifier ?options))) - (lambda unpack! [] "Initializes the plugin manager with the previously declared plugins and their options." - (let [packs (icollect [_ v (ipairs nvrc/pack)] - `(use ,v)) - rocks (icollect [_ v (ipairs nvrc/rock)] - `(use_rocks ,v))] - `((. (require :packer) :startup) #(do - ,(unpack (icollect [_ v (ipairs packs) :into rocks] v)))))) + (let [packs [(unpack (icollect [_ v (ipairs nvrc/pack)] + v))]] + `((. (require :lazy) :setup) ,packs))) {: pack : pack! - : rock - : rock! : unpack!} |